所以我有這樣的形式在for循環中,其提交給自己,並得到用戶上傳圖片,表單代碼:PHP - 上傳文件腳本在for循環
for ($x=1; $x<=10; $x++)
{
echo "<form method='post' enctype='multipart/form-data'>";
echo "
<label for='file'>Image:</label>
<input type='file' name='file'><br>
<input type='submit' name='submit' value='Upload Image'>
<br>";
include ('lib/upload.php');
}
形式隨後將調用腳本名爲「upload.php的」,其中包含這些代碼:
<?php
if (isset($_POST['submit']))
{
$allowedext=array("gif", "png", "jpeg", "jpg");
$tmp=explode(".", $_FILES["file"]["name"]);
$ext=end($tmp);
if (
(($_FILES["file"]["type"]=="image/gif") ||
($_FILES["file"]["type"]=="image/jpeg") ||
($_FILES["file"]["type"]=="image/jpg") ||
($_FILES["file"]["type"]=="image/pjpeg") ||
($_FILES["file"]["type"]=="image/png") ||
($_FILES["file"]["type"]=="image/x-png")) &&
($_FILES["file"]["size"]<=3145728) && in_array($ext, $allowedext)
)
{
if ($_FILES["file"]["error"]>0)
{
echo "<br>Error: ".$_FILES["file"]["error"]."<br>";
}
else
{
if (file_exists("upload/".$_FILES["file"]["name"]))
{
echo "<br><p style='color: #ff0000;'>".$_FILES["file"]["name"]." already exists.</p><br>";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]);
$x="upload/".$_FILES["file"]["name"];
echo "<br><img src='$x' width='320px' height='240px'><br>";
}
}
}
else if ($_FILES["file"]["size"]>3145728)
{
echo "<br><p style='color: #ff0000;'>File too large</p><br>";
}
else
{
echo "<br><p style='color:#ff0000;'>Invalid file</p><br>";
}
}
?>
所以我的問題是,每次我上傳的圖像,錯誤「無效文件」來了,即使我敢肯定,我上傳了一個有效文件。這工作,如果我循環一次形式,如下所示:
for ($x=1; $x<=1; $x++)
{
\\code
}
任何想法是什麼問題可能是什麼?
呦感謝耶! –