0
Я попытался загрузить и переименовать файл изображения с помощью php, но он не перемещает файл в папку, в которой я хочу. Может кто-нибудь сказать мне, что случилось с код?Как загрузить файл в определенную папку с помощью php
$filename = $_POST["avatar"];
$expl = explode('.', $filename);
$file_basename = $user; // give new name
$file_ext = $expl[1]; // get file extention
$filesize = $_FILES["avatar"]["size"];
$allowed_file_types = array('gif', 'jpg', 'pjpg', 'png');
$target_dir = "images/avatars/";
$newfilename = $file_basename . '.' . $file_ext;
$target_file = $target_dir . $newfilename;
if (in_array($file_ext, $allowed_file_types) && ($filesize < 2000000000)) {
if (file_exists($target_dir . $newfilename)) {
echo "You have already uploaded this file.";
} else {
move_uploaded_file($_FILES['avatar']['tmp_name'], $target_dir);
if (!move_uploaded_file($_FILES['avatar']['tmp_name'], $target_file)) {
echo "There was an error uploading the file, please try again!";
} else {
$avaq = "UPDATE portfoliotext SET avatar = '$newfilename'";
$resava = mysqli_query($conn, $avaq);
echo "File uploaded successfully.";
}
}
} elseif ($filesize > 2000000000) {
echo "The file you are trying to upload is too large.";
} else {
echo "Only these file typs are allowed for upload: " . implode(', ', $allowed_file_types);
}
} else {
echo "Invalid file";
}
1: проверить, что у вас есть 'ENCTYPE = "многослойную/form-данные"' набор атрибутов. 2: проверьте принадлежность к каталогу и разрешения (do ** not ** 777) 2: проверка на расширение файла почти полностью бессмысленна, и ваш скрипт отклонит изображения, такие как * my.lovely.horse.jpg * – CD001
возможно, что и ^^ – scoopzilla