2016-04-28 24 views
0

我正在爲我的新網站做註冊表單。在我的表單的圖片上傳部分中,圖片似乎沒有任何原因地上傳。我已經看到一切兩次,三次仍然$_FILES['dp']['error']設置爲2.圖像上傳表單給出了錯誤代碼2.爲什麼?

我想上傳的文件只有123 kb,它仍然保持顯示錯誤2,並且不會上傳。爲什麼?

我的HTML:

<form enctype="multipart/form-data" class="form-signin" role="form" method="post" action="addit.php"> 
<h2 class="form-signin-heading" align="center">Sign Up</h2> 
<input value="" name="dp" type="file" class="form-control"> 
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign up</button> 

PHP:

$target_dir = "img/"; 

$target_file = $target_dir . basename($_FILES["dp"]["name"]); 
echo $target_file; 
echo $_FILES["dp"]["tmp_name"]; 
$uploadOk = 1; 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
// Check if image file is a actual image or fake image 
// Check if file already exists 
if (file_exists($target_file)) { 
echo "Sorry, file already exists."; 
$uploadOk = 0; 
} 
// Check file size 
// Allow certain file formats 
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 
&& $imageFileType != "gif") { 
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 
$uploadOk = 0; 
} 
// Check if $uploadOk is set to 0 by an error 
if ($uploadOk == 0) { 
echo "Sorry, your file was not uploaded."; 
// if everything is ok, try to upload file 
} else { 
if (move_uploaded_file($_FILES["dp"]["tmp_name"], $target_file)) { 
    echo "The file ". basename($_FILES["dp"]["name"]). " has been uploaded."; 
} else { 
    echo $_FILES['dp']['error']; 
} 
} 

的php.ini配置:

file_uploads = On 

; Temporary directory for HTTP uploaded files (will use system default if not 
; specified). 
; http://php.net/upload-tmp-dir 
upload_tmp_dir = "d:/wamp/tmp" 

; Maximum allowed size for uploaded files. 
; http://php.net/upload-max-filesize 
upload_max_filesize = 64M 

; Maximum number of files that can be uploaded via a single request 
max_file_uploads = 20 

回答

0

使用,供大家參考代碼

$imgname = basename($_FILES["fileToUpload"]["name"]); 
$target_dir = "../../images/"; 
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
$uploadOk = 1; 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
// Check if image file is a actual image or fake image 
if(isset($_POST["submit"])) { 
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
    if($check !== false) { 
     echo "</br>File is an image - " . $check["mime"] . "."; 
     $uploadOk = 1; 
    } else { 
     echo "</br>File is not an image."; 
     $uploadOk = 0; 
    } 
} 
// Check if file already exists 
if (file_exists($target_file)) { 
    echo "</br>Sorry, file already exists."; 
    $uploadOk = 0; 
} 
// Check file size 
if ($_FILES["fileToUpload"]["size"] > 500000) { 
    echo "</br>Sorry, your file is too large."; 
    $uploadOk = 0; 
} 
// Allow certain file formats 
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 
&& $imageFileType != "gif") { 
    echo "</br>Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 
    $uploadOk = 0; 
} 
// Check if $uploadOk is set to 0 by an error 
if ($uploadOk == 0) { 
    echo "</br>Sorry, your file was not uploaded."; 
// if everything is ok, try to upload file 
} else { 
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
     echo "</br>The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
    } else { 
     echo "</br>Sorry, there was an error uploading your file."; 
    } 
} 
+0

除了那條路徑之外,你的代碼和我的代碼有什麼不同? – LalaByte

+0

在你的代碼中如何提交表單 –

相關問題