我有以下代碼上傳文件到一個文件夾,取決於文件輸入上傳該文件被重命名,例如第一個輸入 - 圖片被重命名爲picture01.jpg,第五輸入 - 圖片被重命名爲圖片到picture01.jpg,等...PHP上傳多個圖像,並檢查其文件擴展名
<form action="upload_file.php" enctype="multipart/form-data" method="POST">
<p><input name="image01" type="file"> </p>
<p><input name="image02" type="file"> </p>
<p><input name="image03" type="file"> </p>
<p><input name="image04" type="file"> </p>
<p><input name="image05" type="file"> </p>
<input type="submit" value="Upload File">
</form>
這是upload_file.php -
<?php
$pic_names = array (
'01' => 'picture01',
'02' => 'picture02',
'03' => 'picture03',
'04' => 'picture04',
'05' => 'picture05',
);
$folder = "temp_images/";
if(preg_match("/(jpg|jpeg|png|gif|mp3|mp4)/",$ext)) {
// Picture01
$image_path01 = $folder . $pic_names['01'] . '.jpg';
move_uploaded_file($_FILES['image01']['tmp_name'], $image_path01);
// Picture02
$image_path02 = $folder . $pic_names['02'] . '.jpg';
move_uploaded_file($_FILES['image02']['tmp_name'], $image_path02);
// Picture03
$image_path03 = $folder . $pic_names['03'] . '.jpg';
move_uploaded_file($_FILES['image03']['tmp_name'], $image_path03);
// Picture04
$image_path04 = $folder . $pic_names['04'] . '.jpg';
move_uploaded_file($_FILES['image04']['tmp_name'], $image_path04);
// Picture05
$image_path05 = $folder . $pic_names['05'] . '.jpg';
move_uploaded_file($_FILES['image05']['tmp_name'], $image_path05);
echo 'Uploaded successfully!';
} else { echo 'Uploaded successfully!';}
?>
我想檢查一下,在文件上傳之前,檢查在上傳jpg,gif或png之前是否存在以下擴展名之一。如果他們有另一個擴展名,那麼它不會被上傳,並給出錯誤。
我設法找到的唯一解決方案是當輸入名稱=「圖片」type =「file」>具有相同的名稱,例如在這種情況下,名稱。我怎麼能爲我的情況做不同的名字輸入?
我得到了follwoing錯誤:PHP解析錯誤:語法錯誤,意想不到的T_ELSE
雖然我相信這不是一個解析錯誤更多。
有什麼建議或幫助嗎?
更新:我修改了代碼,但它告訴我'錯誤的文件類型!'也適用於任何圖像格式。
'echo'Uploaded successfully!';'must' before'}',not after it – Yang
我更新了答案,但仍然無效。 –
添加屬性'accept ='image/*'' – Anthony