Ich versuche, Bilder in die entsprechenden Ordner mit PHP hochzuladen. . Es gibt insgesamt 6 Ordner und 2 Ordner haben Unterordner. Ich habe ein Dropdown-Menü erstellt, das eine Liste von Ordnern und Unterordnern in einem Formular enthält, und bei Auswahl eines bestimmten Ordners kann ein Bild in den ausgewählten Ordner hochgeladen werden. Aber wenn ich einen Unterordner auswähle, wird das Bild nicht hochgeladen.Bilder können nicht in Unterordner hochgeladen werden
Unten ist der folgende Code zum Hochladen. Und here is the link für Dropdowns (Ordner und Unterordner mit HTML).
if(isset($_POST["submit"])) {
$target_dir = "images/website/". $_POST["path"]."/";
}
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$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"]);
if($check !== false) {
echo '<script language="javascript">';
echo 'alert("File is an image - " . $check["mime"] . ".")';
echo '</script>';
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
// Check if file already exists
if (file_exists($target_file)) {
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Sorry ! Image already exists!')
window.location.href='upload.php';
</SCRIPT>");
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 5000000) {
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Sorry ! Image file size is too large.')
window.location.href='upload.php';
</SCRIPT>");
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" && $imageFileType != "JPG" && $imageFileType != "PNG" && $imageFileType != "JPEG" && $imageFileType != "GIF") {
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Sorry ! only JPG, JPEG, PNG & GIF files are allowed')
window.location.href='upload.php';
</SCRIPT>");
echo ".";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Sorry ! Image was not uploaded')
window.location.href='upload.php';
</SCRIPT>");
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
// echo '<script language="javascript">';
// echo 'alert("Image has been uploaded successfully!")';
// echo '</script>';
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Congrats ! Image has been successfully uploaded.')
window.location.href='upload.php';
</SCRIPT>");
//header("Location:upload.php") ;
// echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Oops Sorry ! There was some error.')
window.location.href='upload.php';
</SCRIPT>");
// echo "Sorry, there was an error uploading your file.";
}
}
?>
versuchen Sie es mit '$ target_dir ="/images/website/". $ _POST ["Pfad"]. "/"; ' – devpro
Ich habe diesen Code bereits verwendet – HebleV
@devpro Ich bin mir nicht sicher, ob ich eine Bedingung verwenden muss, um zwei verschiedene Pfade zu verwenden, einen für Ordner und andere für Unterordner. – HebleV