PHP文件上传失败


PHP File Uploading fail

我正在尝试创建一个脚本,允许用户将图像上传到服务器上。我已经实现了这个脚本,但一旦我尝试上传图像,脚本就会执行,但服务器上没有显示图像。有什么想法吗?

PHP:

<?php
require_once("connect.php");
ini_set('display_errors', 'on'); 
error_reporting(E_ALL);
echo __LINE__;
$allowedExtensions = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["image"]["name"]));
print_r($_FILES['image']);
echo $extension;
if((($_FILES["image"]["type"] == "image/gif") || ($_FILES["image"]["type"] == "image/jpeg") || ($_FILES["image"]["type"]=="image/pjpeg") || ($_FILES["image"]["type"] == "type/png")) && ($_FILES["image"]["size"] <= 102400) && in_array($extension, $allowedExtensions)) {
        echo __LINE__;
        if($_FILES["image"]["error"] > 0) {
                $fileUploadFail = true; 
        }
        else {
               chmod("uploadImages/", 0755);
               move_uploaded_file($_FILES["image"]["tmp_name"], "uploadImages/" . $_FILES["image"]["name"]);
        }
} else {
        $fileUploadFail = true;
        echo __LINE__;
}   
        $fileName = $_FILES["image"]["name"];
        chmod("uploadImages/", 0600);
        echo __LINE__;
        /*if($fileUploadFile) {
              header("Location: uploadArt.php");
        }
        else {
             $title = $_POST['title'];
             $description = $_POST['description'];
             mysql_query("INSERT INTO `Art`(`File Name`, `Description`, `uploadLocation`, `Index`) VALUES('$title', '$description', 'uploadImages/$fileName', '')");
              header("Location: viewArt.php");
        }*/
  ?>

我接收的输出:

6Array ( [name] => comps_tech.png [type] => image/png [tmp_name] => /tmp/phpgQKnMJ [error] => 0 [size] => 661 ) png2529

HTML:

<form id = "uploadDesigns"  enctype="multipart/form-data" name="Upload" method="post" action="fileUpload.php" >
<label for="title">Enter name of design:</label><input type = "text" id = "title" name = "title" size="50"><br /><br />
<label for="image">Upload image:<br />(max 100KB)</label> <input type = "file" id = "image" size = "51" name = "image"><br /><br />
<label for="description">Description:</label> <textarea id = "description" name = "description" rows = "4" cols = "20"></textarea><br /><br />
<button type="submit">Submit Art</button>
</form>

谢谢!

您有

input type = "file" id = "image" size = "51" name = "image"

但正在参考

$_FILES["file"]["type"] 

$_FILES中的"文件"是指输入文件的名称。这是"图像",而不是"文件"


完成答案(在解决其他问题并调试之后);最后一个错误是

$_FILES["image"]["type"] == "image/png"

需要添加到if语句中。

您需要为uploadImages授予写入权限。

Ur文件目录结构应该是这样的。

1) test.php2) uploadImages/(此文件夹需要由u创建)。