サーバー上のフォルダーに画像が存在する場合、ページに画像を追加するにはどうすればよいですか?
グラフィック デザイン作品のポートフォリオ サイトを構築しています。また、サーバー上のフォルダーに画像をアップロードするだけで、自動的にページに追加されるようにしたいので、新しい画像を追加するたびに html を物理的に編集する必要はありません。
これは可能ですか?もしそうなら、どのように?私はかなり速い学習者なので、それがどれほど複雑になるかはあまり気にしません.
次のようなものを使用できます。
<?php
$files = glob('folder/*.{jpg,png,gif}', GLOB_BRACE);
foreach($files as $file) {
echo "<img src='$file'>";
}
?>
これを試して:
$handle = opendir(dirname(realpath(__FILE__)).'/pictures/');
while($file = readdir($handle)){
if($file !== '.' && $file !== '..'){
echo '<img src="pictures/'.$file.'" border="0" />';
}
}
このコードは非常に理解しやすいです。最初に変数「$handle」を定義します。この変数には、フォルダーの絶対パスへのハンドルが含まれます (絶対パスの方が安全だと思うので、常に絶対パスを使用します) dirname(realpath( FILE ) ) 現在のファイル (gallery.php) への絶対パスを返し、その末尾に /pictures/ を追加します。
次に、ディレクトリ内のすべてのファイルをループします。私が使用した単純な if ステートメントは、一部の関数が を返すのを防ぐためのものです。または..ファイル名として時々。次に、画像を標準のhtmlで表示します
この疑似コードを使用します。
if (file_was_uploaded()) {
update_page();
}
関数ではfile_was_uploaded
、ファイルのアップロードを処理するコードを配置します。(成功した) ファイルのアップロードがあった場合は true を返します。
関数ではupdate_page
、ページの更新を処理するコードを配置します。
フォルダー内のファイル名を読み取ってから、各画像をページに表示できます。
<?php
$dir_path = '/images';
$filenames = scandir($dir);
?>
<?php foreach($filenames as $filename): ?>
<img src="<?=$filename;?>" alt="photo"/> <!-- and other HTML stuff -->
<?php endforeach; ?>