$_FILES / 舊版 $HTTP_POST_FILES)。convert 工具執行縮圖:convert -geometry 寬x高 來源檔 縮圖檔。images/ 目錄並給 Web 使用者寫入權限。<form enctype="multipart/form-data" action="upload.php" method=POST>
選擇圖片: <input name="image" type="file">
<input type="submit" value="上傳">
</form>
<?php
$flag = 'true';
if (isset($_FILES['image']) && $_FILES['image']['tmp_name']) {
$type = $_FILES['image']['type'];
if ($type == 'image/gif' || $type == 'image/png' || $type == 'image/pjpeg') {
$dest = './images/' . $_FILES['image']['name'];
if (move_uploaded_file($_FILES['image']['tmp_name'], $dest)) {
$thumb = './images/small_' . $_FILES['image']['name'];
$cmd = '/usr/bin/convert -geometry 100x100 ' . escapeshellarg($dest) . ' ' . escapeshellarg($thumb);
exec($cmd);
} else $flag = 'false';
} else $flag = 'false';
} else $flag = 'false';
if ($flag == 'false') {
echo '錯誤<p><a href="uploadform.html">重新上傳</a>';
} else {
echo '<img src="' . $thumb . '">';
echo '<img src="' . $dest . '">';
}
?>
GetImageSize() 取得原圖尺寸,計算等比例縮放參數。man convert。安全提醒:務必驗證 MIME 類型、檔案副檔名、使用 escapeshellarg() 防命令注入、限制上傳檔案大小。