Ich mache ein Upload-Formular und habe gewählt, dies mit jQuery zu tun. Die Datei wird hochgeladen, aber nicht in den gewünschten Ordner. Daher analysiere ich die Daten nicht korrekt vom Upload-Formular zum Prozess.jQuery Formular einreichen und PHP
upload.php
<script>
$(document).ready(function()
{
var settings = {
url: "upload_process.php",
method: "POST",
allowedTypes:"jpg,jpeg,png",
fileName: "myfile",
galleryName: "<?php echo $gallery->folder; ?>",
multiple: true,
onSuccess:function(files,data,xhr)
{
$("#status").html("<font color='green'>Upload is success</font>");
},
onError: function(files,status,errMsg)
{
$("#status").html("<font color='red'>Upload is Failed</font>");
}
}
$("#mulitplefileuploader").uploadFile(settings);
});
</script>
upload_process.php
$galleryName = $_POST["galleryName"];
$output_dir = "media/images/".$galleryName."/";
if(isset($_FILES["myfile"])) {
$ret = array();
$error = $_FILES["myfile"]["error"];
{
/* Single File */
if(!is_array($_FILES["myfile"]['name'])) {
$fileName = $_FILES["myfile"]["name"];
move_uploaded_file($_FILES["myfile"]["tmp_name"], $output_dir . $_FILES["myfile"]["name"]);
$ret[$fileName] = $output_dir.$fileName;
/* Multiple files */
} else {
$fileCount = count($_FILES["myfile"]['name']);
for($i=0; $i < $fileCount; $i++) {
$fileName = $_FILES["myfile"]["name"][$i];
$ret[$fileName] = $output_dir.$fileName;
move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName);
}
}
}
echo json_encode($ret);
}
Die Datei zu Medien/Bilder hochgeladen/und kann nicht sehen, warum die $ Galleryname nicht gesetzt ist?
'$ Galerie-> folder' hat einen gültigen Wert, wenn Sie diesen Code ausführen? –
Ja, ich habe hier den Wert über dem angegebenen Code ausgedruckt, also gibt es einen tatsächlichen Wert im Objekt $ gallery-> Ordner. – Kingfox
Was ist uploadFile()? einige jquery plugin? möglicherweise ist "galleryName" kein von dieser Funktion erkannter Wert und wird nicht an den Server gesendet. Meine Vermutung, wenn es ein Plugin ist, müssen Sie wahrscheinlich einen anderen Schlüsselnamen verwenden, um benutzerdefinierte Daten hinzuzufügen. –