我正在尝试将文件上传到服务器,但在调用move_uploaded_file之前,文件正在被删除。
我知道,因为我将这些行打印到error_log,第一行返回1,第二行返回0.
<?php
$target_dir = 'uploads/';
$target_file = $target_dir . basename($_FILES['fileToUpload']['name']);
error_log(print_r($_FILES));
$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']);
error_log(print_r($_FILES));
if($check !== false) {
echo 'File is an image - ' . $check['mime'] . '.';
$uploadOk = 1;
} else {
echo 'File is not an image.';
$uploadOk = 0;
}
}
// Check if file already exists
if (file_exists($target_file)) {
echo 'Sorry, file already exists.';
$uploadOk = 0;
}
// Check file size
if ($_FILES['fileToUpload']['size'] > 500000) {
echo 'Sorry, your file is too large.';
$uploadOk = 0;
}
// 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
error_log(print_r($uploadOk,true));
if ($uploadOk == 0) {
echo '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 'The file '. basename( $_FILES['fileToUpload']['name']). ' has been uploaded.';
} else {
echo 'Sorry, there was an error uploading your file.';
}
}
?>
function uploadFile(){
var file = $('#fileToUpload')[0].files[0];
var formdata = new FormData();
formdata.append("fileToUpload", file);
console.log(formdata);
var ajax = new XMLHttpRequest();
ajax.open("POST", "upload.php");
ajax.send(formdata);
}
<form>
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="button" value="Upload Image" onclick="uploadFile()" >
</form>
我做错了什么?
由于