2010-09-06 60 views
1

我正在爲圖像構建一個php上傳腳本,它拒絕運行。PHP圖像上傳腳本不會運行

首先,我有一個簡單的表格後像這樣:

<form action="variables.php" method="post" enctype="multipart/form-data" > 
    <p>Event title : <input type="text" name="name" required></p> 
    <p>Description : <input type="text" name="description" required></p> 
    <input type="file" name="file" id="file"/> 
    <input type="submit" value="submit"> 
    </form> 

這隨後把提交字段 「variables.php」,它看起來像這樣:

<?php 
require("myfunctions.php"); 

$title = $_POST['name']; 
$description =$_POST['description']; 
    $img = $_FILES["file"]; 

imgput($img); 
generator($title, $description); 
    ?> 

「imgput」和「generator」是來自「myfunctions.php」的函數,但問題不在「genrator」中,所以這裏是「myfunctions.php」的樣子:

<?php 
function imgput($img) { 
if ((($img["type"] == "image/gif") 
|| ($img["type"] == "image/jpeg") 
|| ($img["type"] == "image/pjpeg")) 
    && ($img["size"] < 500000)) 
    { 
    if ($img["error"] > 0) 
    { 
    echo "Return Code: " . $img["error"] . "<br />"; 
    } 
    else 
    { 
    echo "Upload: " .$img["name"] . "<br />"; 
    echo "Type: " . $img["type"] . "<br />"; 
    echo "Size: " . $img["size"]/1024) . " Kb<br />"; 
    echo "Temp file: " . $img["tmp_name"] . "<br />"; 

    if (file_exists("../uploads/" . $img["name"])) 
     { 
     echo $img["name"] . " already exists. "; 
     } 
    else 
     { 
     move_uploaded_file($img["tmp_name"], 
     "../uploads/" . "event1.jpg"); 
     echo "Stored in: " . "../uploads/event1.jpg"; 
     } 
    } 
    } 
else 
    { 
    echo "Invalid file"; 
    } 
} 

?> 

任何幫助都會很棒。我試圖在「imgput」開始後立即運行測試回聲,但它甚至不會運行它。

回答

0

你缺少一個(這裏:

echo "Size: " . $img["size"]/1024) . " Kb<br />"; 
            ^^^ no matching (available 

最有可能你想要這樣的:

echo "Size: " . ($img["size"]/1024) . " Kb<br />"; 

如果你已經使用error_reporting打開,你會看到語法錯誤:

PHP Parse error: syntax error, unexpected ')', expecting ',' or ';' in /home/marc/test.php on line 16 
+0

謝謝!並感謝您支持格式化。 – Ian 2010-09-06 23:40:03