방금 이미지를 업로드하는 스크립트를 작성했는데 오래 동안 확인했지만 오류가 어디인지 찾을 수 없습니다. 전체 코드는 수행해야 할 작업을 수행하지만 move_uploaded_file(); 기능은하지 않습니다.move_uploaded_file(); 작동하지 않습니다
HTML :
<form method="post" id="img-form" enctype="multipart/form-data">
Subir imagen: <input type="file" name="file">
</form>
<div id="respuesta"></div>
JS :
$(function(){
$("input[name='file']").on("change", function(){
var formData = new FormData($("#img-form")[0]);
$.ajax({
url: "ajax/uploadimage.php",
type: "POST",
data: formData,
contentType: false,
processData: false,
success: function(data)
{
$("#respuesta").html(data);
}
});
});
});
PHP :
<?php
require '../init.php';
if (isset($_FILES["file"]))
{
$file = $_FILES["file"];
$nombre = $file["name"];
$type = $file["type"];
$ruta_provisional = $file["tmp_name"];
$size = $file["size"];
$gethandw = getimagesize($ruta_provisional);
$width = $gethandw[0];
$height = $gethandw[1];
$path = "img/users/";
if ($type != 'image/jpg' && $type != 'image/jpeg' && $type != 'image/png' && $type != 'image/gif')
{
echo "Error, el archivo no es una imagen";
}
else if ($size > 1024*1024)
{
echo "Error, el tamaño máximo permitido es un 1MB";
}
else if ($width > 400 || $height > 400)
{
echo "Error la anchura y la altura maxima permitida es 500px";
}
else if($width < 60 || $height < 60)
{
echo "Error la anchura y la altura mínima permitida es 60px";
}
else
{
$src = $path.$nombre;
move_uploaded_file($ruta_provisional, $src);
echo "<img src='$src'>";
}
}
대답 (데이터)의 출력 여기 내 코드는 모든 것이 정확하지만 이미지가 어디에도 업로드되지 않습니다. 테스트를 위해 xampp을 사용하고 있습니다.
나는 어떤 오류가 볼 수 없습니다. 업로드되지 않았습니까? img/users/디렉토리를 확인하십시오. – halojoy
웹 서버에'img/users' 디렉토리에 대한 쓰기 권한이 있습니까? –
다음과 같이 시도 할 수 있습니다. if (isset ($ _ FILES [ "file"] [ "name"])) – halojoy