Мой скрипт загрузки фотографий не работает на php

<?php include('header.php');
include ('config.php');
if (isset($_POST['submit_image'])){
  $imgname=$_FILES["myimage"]["name"] ;
    $target = "ProfileImages/";
    $filetarget=$target.$imgname;
    $tempname=$_FILES["myimage"]["tmp_name"];

    $result = move_uploaded_file($tempname,$filetarget);
    if ($result){

        $id=$_SESSION['id'];
        $caption=$_POST['caption'];
        $q = "INSERT into `images` (id,path,caption) VALUES ('$id','$filetarget','$caption')";
        $res=mysqli_query($con,$q);
        if ($res)
        {
            $msg = "Photo Uploaded Sucessfully..";
            $_SESSION['msg']=$msg;
            header('location:profile.php');
        }
    }
    else{

        $msg = "Error Not Uploaded...Try Again";
            $_SESSION['msg']=$msg;
            header('location:profile.php');
        }
}
?>        
<form method = "POST"  enctype = "multipart/form-data">
 <h2><u>Select Image</u></h2><br><input type = "file" name = "myimage"><br>
<h2><u>Caption</u></h2><br>
    <textarea rows = "4" cols = "25" name = "caption"></textarea>
 <input type = "submit" name = "submit_image" value = "Upload">
</form>   

Заголовок

Я пытался загрузить изображения с помощью этого кода, но через некоторое время я убедился, что он не работает ... Кто-нибудь из вас может помочь мне, как это исправить?

Какая его часть не работает? Что ты пробовал? Логи что-нибудь дают? Недостаточно информации, чтобы помочь адекватно.

Karl Viiburg 24.03.2018 22:34

вы можете добавить html для загрузки form?

Taki 24.03.2018 22:34

что сделал этот код?

Goms 24.03.2018 22:35

@Taki Пожалуйста, посмотрите, я добавил HTML-часть.

saksham7 24.03.2018 22:56

Вы широко открыты для SQL-инъекции и действительно должны использовать Подготовленные заявления вместо объединения ваших запросов. Тем более, что вы вообще не избегаете пользовательского ввода!

Magnus Eriksson 24.03.2018 23:00

Что на самом деле происходит? "Ошибка не загружена ... Попробуйте еще раз" или что-то еще?

ino 24.03.2018 23:14

Ошибка не загружена ... файлы не перемещаются, но $filetarget является допустимым именем файла.

saksham7 24.03.2018 23:37
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
7
33
1

Ответы 1

Включите Отчеты об ошибках PHP!

Изолируйте рабочий сценарий и попытайтесь выяснить, в чем проблема. Убедитесь, что:

  1. парсер входит в первый if
  2. допустимое имя файла $filetarget
  3. было ли перемещение файла успешным
  4. был ли запрос успешным
  5. перенаправление на действующую страницу

Если у вас нет отладчика, отключите header('location:profile.php');, чтобы оставаться на странице и видеть ошибки и / или сообщения тестирования печати, такие как echo "I am here on line ".__LINE__;, чтобы убедиться, что синтаксический анализатор включен.

Нет, это не похоже на то, что у меня есть отдельная таблица, где id является внешним ключом, и я вставляю несколько изображений для одного пользователя, который вошел в систему ... Раньше код работал нормально ... Не знаю Что сейчас произошло??

saksham7 24.03.2018 22:54

@ saksham7 - Если вы хотите, чтобы у нас была возможность разобраться в этом и помочь вам, вам нужно, по крайней мере, проверить свои файлы журналов, чтобы увидеть, есть ли у вас сообщения об ошибках.

Magnus Eriksson 24.03.2018 22:59

Да, я включил это в php.ini

saksham7 24.03.2018 23:12

На всякий случай также включите его в скрипте.

ino 24.03.2018 23:13

Я обновил свой исходный ответ парой подсказок. Надеюсь, это поможет вам найти направление для решения вашей проблемы с it was not working.

ino 24.03.2018 23:24

@ino да, я понял, что функция move_uploaded_file() не работает ..

saksham7 24.03.2018 23:35

Большой! Итак, вы нашли проблему и устранили ее. Если нет, расскажите подробнее. В противном случае примите решение, которое лучше всего подходит для закрытия вопроса - см. Что мне делать, когда кто-то отвечает на мой вопрос?

ino 26.03.2018 08:09

Другие вопросы по теме