Скрипт загрузки изображений работает неправильно
Здравствуйте, мне нужна помощь с загрузкой изображений на мой сайт, я несколько раз менял этот скрипт, но просто не могу заставить его работать правильно?
Когда я пытаюсь загрузить какие-либо изображения, сценарий кажется сбойным, и никакие записи не обновляются, а также никакие изображения не загружаются? Что-то не так с сценарием?
if(isset($_POST['uploadimage'])){
$user = $_POST['user'];
$target_dir = "userimg/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
$check = getimagesize($_FILES["fileToUpload"]);
if($check !== false) {
$uploadOk = 1;
} else {
$imgerror = 1;
$uploadOk = 0;
}
// Check if file already exists
if (file_exists($target_file)) {
$imgerror = 2;
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"] > 500000) {
$imgerror = 3;
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
$imgerror = 4;
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$filenameimg = basename( $_FILES["fileToUpload"]);
mysqli_query($conn, "UPDATE friends_list SET display_img = '$filenameimg' WHERE id = '$user'");
$imgerror = 6;
} else {
$imgerror = 5;
}
}
}
1 ответ
Похоже, что здесь вам не хватает пары важных частей, первая часть, которая может вызвать проблемы, это ваша basename
функция, вы не включаете имя файла.
$target_file = $target_dir . basename($_FILES["fileToUpload"]);
Должно быть
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
И чтобы получить размер изображения, вам также нужно использовать тот же процесс:
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
Используйте эту идею, чтобы изменить раздел "Проверка размера файла", я не буду выполнять вашу работу за вас, но отправлю вас в правильном направлении. Вы также должны помнить, чтобы добавить tmp_name
переместить загруженный файл.
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
После того, как вы исправили эти ошибки, изображения должны обрабатываться правильно. Если вы не получаете какие-либо другие ошибки?