2017-02-01 1 views
-1

いつものように、私はこれをやっている問題があります。だから、私は、PHPを使用してフォルダから画像を抽出することができましたが、それを行うには余りにも時間がかかっていたので、私はテキストファイルから名前を抽出し、whileループを行い、結果のリストをエコーすることにしました。例えば、私は "cats.txt"と呼ばれるファイルを持っており、データの中にはこのように見えます。phpでテキストファイルの中にあるイメージ名を取得するにはどうしたらいいですか?

Kitten1.jpg 
Kitten2.jpg 
Kitten3.jpg 

これを行うにはSQLまたはJSONテーブルを簡単に使用できますが、許可されません。だから私はこれだけ持っている。

これをやろうとしましたが、エラーが発生します。

--- PHPコード---

$data = file ("path/to/the/file/cats.txt"); 
for ($i = 0; $i < count ($data); i++){ 
$images = '<img src="/kittens/t/$i">'; 
} 

$CatLife = ' 
Images of our kittens:<br> 

'.$images.' 


'; 

私は助けを本当に感謝します。ページに何も言わないので、エラーの内容が分からない。それは単に読み込まれません。

+1

http://stackoverflow.com/questions/13246597/how-to-read-a-file-line-by-line-in-php – Progrock

+0

問題は、あなたがあなたのカウンターを格納し、画像列を作っているありますそれぞれの繰り返しで '$ images'をクローブします。 '$ data'はあなたのファイルからの行の配列なので、' $ data [$ i] 'が必要です。あるいはforeachを使用します。連結する必要があります。あなたの猫! – Progrock

+0

Progrockええ、私はちょうど似たようなことをしました。 '$ data [$ i]。'今はそれが動作します。私はまた、フォルダの完全なパスを指定する必要がありました。 – Divern

答えて

1

あなたはこのような何かを試すことができます。

$fp = fopen('path/to/the/file/cats.txt', 'r'); 
$images = ''; 
while(!feof($fp)) { 
    $row = fgets($fp); 
    $images .= '<img src="/kittens/t/'.$row.'">'; 
} 
fclose($fp); 

$CatLife = "Images of our kittens:<br>$images"; 
+1

するかしない。 「試行」はありません。 ***良い答え***は、何が行われたのか、それがなぜOPのためだけでなく、将来の訪問者のためにそうした方法で行われたのかについての説明を常に持っています。 –

-1
$data = file ("path/to/the/file/cats.txt"); 
    $images = ''; 
    for ($i = 0; $i < count ($data); i++){ 
     $images .= '<img src="/kittens/t/$i">'); 
    } 

    $CatLife = 'Images of our kittens:<br>'.$images.''; 
    echo $CatLife; 

はこれを試してみてください、それが文字列やページへのエコー、それがに、各画像のタグを格納します。

+0

「子猫の画像:
などのようなものを出力します。 – Progrock

0

foreach()に慣れてください。ずっと簡単。また、タグ内の$fileのような変数は、一重引用符では解釈されません。私は配列を使用して、それを内破:

$data = file ("path/to/the/file/cats.txt"); 
foreach($data as $file) { 
    $images[] = '<img src="/kittens/t/'.$file.'">'; 
} 

$CatLife = ' 
Images of our kittens:<br> 

'.implode($images).' 


'; 

あなたはまた、単に内破する必要が連結し$images .= '<img src="/kittens/t/$file">';を使用しませんでした。

0

おそらく、あなたのtxtファイルを解析する代わりにglob php関数を使うべきです。

foreach (glob("path/to/the/file/Kitten*.jpg") as $filename) { 
    echo "$filename\n"; 
} 
関連する問題