2014-03-05 3 views
-1

아래 코드가 있습니다 ...이 파일은 양식에 의해 업로드되는 두 번째 파일이지만 계속 오류가 발생합니다. .php 파일을 업로드하려고합니다. .jpg를 업로드하는 데 동일한 코드를 사용하고 있으며 정상적으로 작동합니다!PHP를 사용하여 서버에 PHP 파일 업로드

$allowedExts = array("php"); 
$temp = explode(".", $_FILES["file2"]["name"]); 
$extension = end($temp); 
if ((($_FILES["file2"]["type"] == "image/php")) 
&& in_array($extension, $allowedExts)) 
    { 

    if ($_FILES["file2"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES["file2"]["error"] . "<br>"; 
    } 
    else 
    { 
    echo "<br /><br />Upload: " . $_FILES["file2"]["name"] . "<br>"; 
    echo "Type: " . $_FILES["file2"]["type"] . "<br>"; 
    echo "Size: " . ($_FILES["file2"]["size"]/1024) . " kB<br>"; 
    echo "Temp file: " . $_FILES["file2"]["tmp_name"] . "<br>"; 

    if (file_exists("trip/" . $_FILES["file2"]["name"])) 
     { 
     echo $_FILES["file2"]["name"] . " already exists. "; 
     } 
    else 
     { 
     move_uploaded_file($_FILES["file2"]["tmp_name"], 
     "trip/" . $_FILES["file2"]["name"]); 
     echo "Stored in:" . "trip/" . $_FILES["file2"]["name"]; 
     } 
    } 
    } 
else 
    { 
    echo "Invalid file2"; 
    } 
+1

이것은 나쁜 아이디어입니다. – Daedalus

+0

하나의 양식에 2 개의 파일을 업로드 하시겠습니까? – user3015838

+0

정말 나쁜 생각 ... 그것은 뚱뚱한 사람들 주위에 케이크를 남겨 두는 것과 같습니다 ... – jycr753

답변

0

.php 파일을 업로드하는 것은 실제로 안전하지 않으므로 권장하지 않습니다. 당신이 정말로 학습 또는 다른 사유로는이 기능을 수행하려는 경우
그러나, 오류가 여기에 있습니다 :

"image/php" 

PHP의 MIME 타입이 "image/php" 없습니다. 시도하십시오 "text/php".

0

삭제이

if ((($_FILES["file2"]["type"] == "image/php")) 
&& in_array($extension, $allowedExts)) 
{ 

또는

같이 될 것입니다 PHP 확장 아무런 이미지가 없기 때문에 제대로 확장을 쓰기이

if (
($_FILES["file2"]["type"] == "image/jpeg") 
($_FILES["file2"]["type"] == "text/php") 
) 
{ 

여기 이미지 확장 JPEG, PNG가 ,. .. 그리고 텍스트 PHP, HTML과 같은 확장 기능을 가지고 ...

관련 문제