有兩種方式做到這一點:
方法1.安全的方式。
把圖像上/網絡/ htdocs中/
<?php
$www_root = 'http://localhost/images';
$dir = '/var/www/images';
$file_display = array('jpg', 'jpeg', 'png', 'gif');
if (file_exists($dir) == false) {
echo 'Directory \'', $dir, '\' not found!';
} else {
$dir_contents = scandir($dir);
foreach ($dir_contents as $file) {
$file_type = strtolower(end(explode('.', $file)));
if (($file !== '.') && ($file !== '..') && (in_array($file_type, $file_display))) {
echo '<img src="', $www_root, '/', $file, '" alt="', $file, '"/>';
break;
}
}
}
?>
方法2不安全,但更靈活。
將圖像放在任何目錄(apache必須有權限讀取文件)。
<?php
$dir = '/home/user/Pictures';
$file_display = array('jpg', 'jpeg', 'png', 'gif');
if (file_exists($dir) == false) {
echo 'Directory \'', $dir, '\' not found!';
} else {
$dir_contents = scandir($dir);
foreach ($dir_contents as $file) {
$file_type = strtolower(end(explode('.', $file)));
if (($file !== '.') && ($file !== '..') && (in_array($file_type, $file_display))) {
echo '<img src="file_viewer.php?file=', base64_encode($dir . '/' . $file), '" alt="', $file, '"/>';
break;
}
}
}
?>
並創建另一個腳本來讀取圖像文件。
<?php
$filename = base64_decode($_GET['file']);
// Check the folder location to avoid exploit
if (dirname($filename) == '/home/user/Pictures')
echo file_get_contents($filename);
?>
那麼你爲什麼不張貼代碼? –
剛剛做到了。忘了縮進。 – user2837048
上面的代碼存在語法錯誤,比如in_array(沒有右括號,有人需要學習基本語法 – jerjer