稱呼,我有問題,允許用戶(管理員)上傳文件/圖像到服務器的能力。任何幫助都感激不盡。php文件上傳不起作用
這裏是我的代碼的部分我在哪裏處理文件:
if ((($_FILES["image"]["type"] == "image/gif")
|| ($_FILES["image"]["type"] == "image/jpeg")
|| ($_FILES["image"]["type"] == "image/jpg")
|| ($_FILES["image"]["type"] == "image/pjpeg"))
&& ($_FILES["image"]["size"] < 20000))
{
if($_FILES['image']['error'] > 0)
{
header('Location: addAd.php?message='.$_FILES['image']['error'].'!');
}
else
{
if(file_exists('images/'.$_FILES['image']['name']))
{
header('Location: addAd.php?message=file already exists!');
}
else
{
move_uploaded_file($_FILES['image']['temp_name'],'images/'.$_FILES['image']['name']);
$fileName = $_FILES['image']['name'];
}
}
}
else
{
header('Location: addAd.php?message=Invalid file!');
}
這裏是我創建的形式:
echo '<form method="POST" action="" enctype="multipart/form-data">';
for($i=1; $i<mysql_num_fields($rs); $i++)
{
$rsmd = mysql_fetch_field($rs,$i);
if($rsmd->name == 'description')
{
echo '<textarea name="'.$rsmd->name.'" cols="40" rows="10"></textarea><br />';
}
else if($rsmd->name == 'image')
{
echo $rsmd->name.'<input type="file" name="'.$rsmd->name.'" /><br />';
}
else
{
echo $rsmd->name.'<input type="text" name="'.$rsmd->name.'" /><br />';
}
}
echo '<input type="submit" value="submit" name="submit">';
echo '</form>';
正在拋出什麼錯誤? – iLLin 2012-01-18 19:13:35
是否打印了$ rsmd-> name'(是否爲空)?通過查看瀏覽器中的HTML進行驗證。發佈時$ _FILES數組是否爲空?將'var_dump($ _ FILES)'放在您發佈的代碼之上。另外還有一些「if」在那裏,檢查他們是否以你想要的方式進行評估。除了這些(這是基本的調試),什麼_does_發生? 「根本不工作」不是錯誤消息。 – CodeCaster 2012-01-18 19:14:27
$ rsmd-> name確實返回一個值,並且var_dump是: array(1){[「image」] => array(5){[「name」] => string(7)「422.jpg 「[」type「] => string(10)」image/jpeg「[」tmp_name「] => string(18)」/ var/tmp/php2VUtCl「[」error「] => int(0)[」size 「] => int(23303)}} – 2012-01-18 19:22:28