セキュリティ上の理由から、Webルートディレクトリの外に保存されたユーザーイメージを表示しようとしています。 show_imgs.php
に移動したとき、私のブラウザは、不器用なシンボルの束を返し、無限ループに入っているように見えますが、hereの提案を試しました。Webルートの外部からのイメージを表示できませんか?
私のコードとその唯一の違いは、私のコードがループしていることです。それがそれと関係があるかどうかは分かりません。
マイコード:
$image_array = ["img_1.png", "img_2.png", "img_3.png"];
$i = 1;
foreach($image_array as $image) {
//Specify absolute path
$image_path = "/absolute/path/to/img_$i.png";
//Get file contents. I have also tried readfile() in place of this.
$contents = file_get_contents($image_path);
//Perhaps this is causing the infinite loop?
header('Content-type: image/png');
//Display contents of file (aka the image)
echo $contents;
$i++;
}
そしてもちろん、私は(私が何をすべき多くのセキュリティチェックがある場合はそう言って下さい)セキュリティのためfile_get_contents
を使用する前に、ファイルサイズやMIMEタイプの検証を追加することになるでしょう。
.php?これをURLで実行してからGETを使うか、display_the_images.phpのPHPスクリプトだけで済ませることができますか? – faceymcface
なので、1つのファイル(例ではimages.phpですが、好きな名前をつけても構いません)にはphpがあり、docルートの外にあるイメージを "読み込んで読み出す"でしょう。あなたのhtmlファイルに通常画像を置く場所に... GET varを付けたphpファイルを置いて、images.phpにどの画像を取得させるかを知らせます。 – WEBjuju
これは機能しました!ありがとうございます – faceymcface