2012-08-16 6 views
0

이미지를 내 서버에 업로드하려고하는데 코드가 매우 간단합니다.하지만 테스트를 통과하지 못하면 항상 else 문으로 곧바로 이동하여 코드를 실행합니다. 유효하지 않은 파일.이미지 업로드 업로드하지 않음

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"; 
    } 

어떤 도움이 많이 될 것입니다 :

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

그리고 이미지를 업로드 할 수있는 PHP 스크립트는 다음과 같습니다 ... 양식 코드 경우 아래 물론 take.php 파일에있는 고맙습니다. 사전에

감사합니다 ...

+1

그리고 무엇이 오류입니까? 아니면 우리가 코드를 읽고 알아낼 것이라고 기대합니까? 오류 로그를 확인하십시오! –

+0

그것은 나에게 에러를주지 않는다. 테스트가 실패하면 else 문으로 직접 가서 거기에 echo 문을 실행한다. 코드는 어떤 경우에도 복잡하지 않다. – Michael

+0

' @Anup Singh이 말하는 POST? –

답변

3

양식 방법은 항상 POST 그래서 양식 방법에

0

확인을 게시하려면 GET을 변환해야 파일을 업로드하면 upload.use하려는 파일의 유형이 :

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

이미지 유형이 업로드하려고하는 이미지와 다를 수 있습니다. 또는 다른 이미지를 시도 할 수 있기 때문입니다.

관련 문제