2014-03-05 87 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,擴展...

相關問題