使用Jquery将图像上载到服务器



我需要您的帮助才能在我的服务器上上传图像。事实上,使用这段代码,我得到了一个数组(0({}响应,同时值填充良好。没有上载图像。。。谢谢你的帮助,这是我的两个文件:

index.php

<input type="file" id="txt_image_user" name="txt_image_user" accept="image/*" required >
<script>
function upload_image() {
var handle      = document.getElementById("txt_handle").value;
var reference   = document.getElementById("txt_reference").value;

var fd          = new FormData();
var files       = $('#txt_image_user')[0].files[0];
fd.append('txt_image_user', files);
$.ajax({
type: 'POST',
url: '_upload-image.php',
cache: false,
data: {fd:fd, handle:handle, reference:reference},
contentType: false,
processData: false,
error: function (e) {console.log('Ajax Error', e);alert('Erreur Ajax');},
success: function(response){
console.log(response);
},
});
}
</script>

_上传图像.php

<?php require($_SERVER['DOCUMENT_ROOT']."/ew-includes/config.php");
var_dump($_POST);
$PathImage = $_SERVER['DOCUMENT_ROOT']."/ew-content/images/images-clients/";
if (!is_dir($PathImage)) {mkdir($PathImage);}
if(isset($_POST["handle"])) {
if(is_array($_POST["handle"]))          {$handle        = implode(", ", $_POST['handle']);} else {$handle = $_POST['handle'];}
if(is_array($_POST["reference"]))       {$reference     = implode(", ", $_POST['reference']);} else {$reference = $_POST['reference'];}
$img_name = $_FILES["txt_image_user"]["name"];
$img_tmp  = $_FILES["txt_image_user"]["tmp_name"];
$filename   = "ew".$reference."_".$handle."_".date("YmdHi");
$ext        = pathinfo($img_name, PATHINFO_EXTENSION);
$photo      = $filename.".".$ext;
$resultat   = move_uploaded_file($img_tmp, $PathImage.$photo);
echo "img_name: ".$img_name."n";
echo "img_tmp: ".$img_tmp."n";
echo "ext: ".$ext."n";
echo "photo: ".$photo."n";
echo "resultat: ".$resultat."n";
}

谢谢你的帮助。我指定我是Jquery 的新手

这不是使用FormData的方法,它应该是数据。您可以将其他值附加到它。

function upload_image() {
var handle = document.getElementById("txt_handle").value;
var reference = document.getElementById("txt_reference").value;
var fd = new FormData();
var files = $('#txt_image_user')[0].files[0];
fd.append('txt_image_user', files);
fd.append('handle', handle);
fd.append('reference', reference);
$.ajax({
type: 'POST',
url: '_upload-image.php',
cache: false,
data: fd,
contentType: false,
processData: false,
error: function(e) {
console.log('Ajax Error', e);
alert('Erreur Ajax');
},
success: function(response) {
console.log(response);
},
});
}

最新更新