Ich habe Probleme beim Verschieben der hochgeladenen Dateien (Bild in diesem Fall) in den angegebenen Ordner. Wenn der Benutzer die Daten gesendet hat, wird der Pfad mit dem Dateinamen des Bildes in die Datenbank eingefügt, aber das ausgewählte Bild wird nicht in den angegebenen Ordner verschoben. Ich bin neu, als ich Tutorials im Web folgte. Aber jetzt wird nur die Datei nicht in den angegebenen Ordner verschoben.move_uploaded_file() verschiebt hochgeladene Dateien nicht
Hier ist das HTML-Formular:
<form action="" enctype="multipart/form-data" method="post">
<input id="imageSelect" name="profile" type=
"file">
<input class="submitButton" id="uploadimg" name="uploadimg" type=
"submit" value="Upload">
</form>
PHP Form:
if (isset($_FILES['profile']) === true) {
if (empty($_FILES['profile']['name']) === true) {
?><script type='text/javascript'>alert('Please select an image before submitting!');</script><?
} else {
$allowed = array('jpg', 'jpeg', 'gif', 'png');
$file_name = $_FILES['profile']['name'];
$file_extn = strtolower(end(explode('.', $file_name)));
$file_temp = $_FILES['profile']['tmp_name'];
if (in_array($file_extn, $allowed) === true) {
change_profile_image($session_id, $file_temp, $file_extn);
header('Location: profileimgchange.php');
exit();
} else {
?><script type='text/javascript'>alert('Incorrect file type! Only jpeg, jpg, gif and png are allowed');</script><?
}
}
}
change_profile_image Funktion:
function change_profile_image($user_id, $file_temp, $file_extn) {
$file_path = 'Image/ServerData/Images/ProfilePicture/' . substr(md5(time()), 0, 10) . '.' . $file_extn;
move_uploaded_file($file_temp, $file_path);
mysql_query("UPDATE `users` SET `profileimg` = '" . mysql_real_escape_string($file_path) . "' WHERE `user_id` = " . (int)$user_id);
}
Die Script-Funktion (wenn das hilft) befindet:
Core > System > Users.php
Der Bildordner befindet sich außerhalb des Core-Ordner, die
Image > ServerData > Images > ProfilePicture
ich diese Informationen hoffen ist, ist genug. Danke
haben Sie überprüft die Berechtigungen :) arbeiten? – Pooya
Ja, ich habe den Ordnerpfad mit 'chmod -Rf 777' geändert, aber es hat nicht funktioniert –
Versuchen Sie mit'/'hier' $ file_path = '/ Image/ServerData/Images/ProfilePicture /' "; repariere einfach den '$ file_path', es scheint falsch zu sein. – C2486