2012-08-16 157 views
0

我试图将图像上传到我的服务器,现在的代码是非常简单的,但它从来没有通过的,如果测试,它总是直接转到else语句,有执行的代码,即;无效文件。如果下面的表单代码...图片上传未上传

<form action="take.php" method="get" onsubmit='return chequer()' enctype="multipart/form-data"> 
<input type="file" name="image1"/> 
</form> 

而且PHP脚本上传的图片是低于,这当然是在take.php文件:

if ($_GET["image"] == Null) 
{ 
$sql = "INSERT INTO postable (description, dated, posterid, country, state, city, area) 
VALUES 
('$_GET[Desc]',NOW(),'$row[0]','$_GET[Country]','$_GET[State]','$_GET[City]','$_GET[area]')"; 
} 
else { 
$sql = "INSERT INTO postable (description, dated, image, posterid, country, state, city, area) 
VALUES 
('$_GET[Desc]',NOW(),'$_GET[image]','$row[0]','$_GET[Country]','$_GET[State]','$_GET[City]','$_GET[area]')"; 
$allowedExts = array("jpg", "jpeg", "gif", "png"); 
$extension = end(explode(".", $_FILES["image1"]["name"])); 
if ((($_FILES["image1"]["type"] == "image/gif") 
|| ($_FILES["image1"]["type"] == "image/jpeg") 
|| ($_FILES["image1"]["type"] == "image/pjpeg")) 
&& ($_FILES["image1"]["size"] < 65536) 
&& in_array($extension, $allowedExts)) 
    { 
    if ($_FILES["image1"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES["image1"]["error"] . "<br />"; 
    } 
    else 
    { 
    echo "Upload: " . $_FILES["image1"]["name"] . "<br />"; 
    echo "Type: " . $_FILES["image1"]["type"] . "<br />"; 
    echo "Size: " . ($_FILES["image1"]["size"]/1024) . " Kb<br />"; 
    echo "Temp file: " . $_FILES["image1"]["tmp_name"] . "<br />"; 

    if (file_exists("upload/" . $_FILES["image1"]["name"])) 
     { 
     echo $_FILES["image1"]["name"] . " already exists. "; 
     } 
    else 
     { 
     move_uploaded_file($_FILES["image1"]["tmp_name"], 
     "upload/" . $_FILES["image1"]["name"]); 
     echo "Stored in: " . "upload/" . $_FILES["image1"]["name"]; 
     } 
    } 
    } 
else 
    { 
    echo "Invalid file"; 
    } 

任何帮助会非常多赞赏。

在此先感谢...

+1

什么是错误?或者你希望我们阅读代码并找出答案?检查错误日志! – 2012-08-16 10:55:13

+0

它不给我一个错误,它的作用是,如果测试失败,直接进入else语句,并执行echo语句有...该代码是不是在任何情况下复杂...... – Michael 2012-08-16 12:42:01

+0

你改成' POST就像@Anup Singh说的那样? – 2012-08-16 12:43:13

回答

3

上传文件的形式方法应该总是这么POST GET转换形式方法POST

0

检查文件的类型你想upload.use :

echo $_FILES["image1"]["type"]; 

,因为一段时间的图像类型是不同的,我们正在努力upload.or你可以尝试使用其他图片。