Как мне проверить, был ли загружен мой файл, а затем отобразить заявление о загрузке моего файла в определенную часть моего сайта?

0

У меня есть два php-документа. form.php и upload.php. Form.php отображает кнопку моего загружаемого файла, и она видна для конечного пользователя. upload.php выполняет действие и не отображается пользователю, но имеет include("form.php"); так что все, что я эхо на этой странице, возвращается на мою страницу form.php для отображения.

сначала я хочу знать, как проверить свой код загрузки с помощью оператора if, чтобы проверить, правильно ли загружен файл на сервер. мой код загрузки

код

move_uploaded_file($_FILES['file']['tmp_name'],"./medetrax_backup/{$_FILES['file']['name']}");.

во-вторых, если загрузка была успешной, я хочу, чтобы оператор if отображал "файл был загружен", иначе эхо "файл не был загружен".

наконец, поскольку эхо-сигналы отсылаются обратно к моему form.php, я хочу знать, как эхо-сообщение в конкретном div в моем form.php. Вместо того, чтобы повторять его в нижней части страницы.

Теги:
file-upload

2 ответа

0
Лучший ответ

move_uploaded_file возвращает true при успешном move_uploaded_file. В upload.php;

    <?php
    ....
    $res = move_uploaded_file($_FILES['file']['tmp_name'],"./medetrax_backup/{$_FILES['file']['name']}");
$_SESSION["res"]=true;

    if ($res) {
        header("Location:form.php?res=success");
    } else {
        header("Location:form.php?res=error");
    }

И в form.php;

<?php
.....

$res = $_GET["res"];

......
?>
<div>
<?php if ($res == "success" && !empty($_SESSION["res"])) {
    echo "File uploaded";
} else {
    echo "Error occured";
}
unset($_SESSION["res"]);
?>
</div>

.....
  • 0
    Спасибо, отлично сработало, хотя, когда моя страница формы загружается раньше, чем я вообще что-то делаю, появляется сообщение об ошибке
  • 0
    Вы можете увидеть обновленный код
Показать ещё 2 комментария
0

В upload.php используйте следующее:

<?php
....
try
{
 $res = move_uploaded_file($_FILES['file']['tmp_name'],"./medetrax_backup/{$_FILES['file']['name']}");
}
catch(Exception $e)
{
 echo "An exception occurred while uploading the file. Process will quit now";
 die;
}

if (isset($res)) 
{
    header("Location:form.php?res=success");
} 
else 
{
    header("Location:form.php?res=error");
}
?>

И в form.php, проверьте, используя это:

<?php
.....
$res = isset($_GET["res"])?$_GET["res"]:false;

......
?>
<div>
<?php if ($res) 
{
if($res=="success")
        echo "File uploaded";
else
        echo "Failed to upload file";
} 
else 
{
//draw your upload button here, in same file.
}
?>
</div>

.....

Ещё вопросы

Сообщество Overcoder
Наверх
Меню