Ich habe gerade ein Skript geschrieben, um Bilder hochzuladen und ich habe es lange überprüft, aber ich kann nicht finden, wo der Fehler ist. Der gesamte Code tut, was er tun soll, aber die move_uploaded_file(); Funktion nicht. Hier ist mein Code:move_uploaded_file(); funktioniert nicht
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'>";
}
}
Die Antwort (Daten) Ausgänge alles korrekt, aber das Bild wird nirgends hochgeladen, ich verwende xampp zum Testen
Ich kann keinen Fehler sehen. Bist du sicher, dass es nicht hochgeladen wird? Check img/users/directory – halojoy
Hat Ihr Webserver Schreibzugriff auf das Verzeichnis "img/users"? –
Sie können versuchen mit: if (isset ($ _ FILES ["Datei"] ["Name"])) – halojoy