Я пытаюсь написать сценарий, в котором система проверяет, выбрал ли пользователь файл для загрузки перед загрузкой чего-либо. Проблема, с которой я сталкиваюсь, заключается в том, что даже если я не выбираю файл, система повторяет, что файл был загружен успешно. Смотрите ниже код:Проверьте, был ли пользователь выбран файл для загрузки
<?php
include("dbconfig.php");
if(isset($_POST['btn-upload'])) {
$loggedinuser = $_GET['bid'];
$file = $_FILES['file']['name'];
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
$sql = mysqli_query($conn, "INSERT INTO upload (personalid, file, type, size) values ((select personalid from person where username='$loggedinuser'), '$file', '$file_type', '$file_size')") or die (mysqli_error($conn));
if($sql){
header("location:upload.php?msg0=Document upload successful.");
} elseif(!file_exists($_FILES['file']['name']) || !is_uploaded_file($_FILES['file']['name'])) {
header("location:upload.php?msg1=Document upload failed.");
}
}
?>
<!-- need to comment -->
обновления версия - 16:34 (13/11/2015)
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
include("dbconfig.php");
if(isset($_POST['btn-upload'])){
if (empty($_FILES['file']['name'])){
echo 'error!';
} else {
$loggedinuser = $_GET['bid'];
$file = $_FILES['file']['name'];
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
$sql = mysqli_query($conn, "INSERT INTO upload (personalid, file, type, size) values ((select personalid from person where username='$loggedinuser'), '$file', '$file_type', '$file_size')") or die (mysqli_error($conn));
if($sql){
header("location:upload.php?msg0=Document upload successful.");
}
else {
header("location:upload.php?msg1=Document upload failed.");
}
}
}
?>
<!-- need to commentt -->
Я сделал некоторые исследования в Интернете, и я пришел через некоторые дискуссии, которые упоминают вы можете нам file_exists
или is_uploaded_file
- Я не уверен, правильно ли я их использую. Пожалуйста, дайте мне знать, как я могу проверить, выбрал ли пользователь файл перед загрузкой.
Thanks,
Sohail.
Просто проверьте, не является ли '$ _FILES ['file'] ['name']' –
. Единственное, что вы могли бы сделать в этом отношении, - использовать javascript, потому что 'file_exists' и' is_uploaded_file' и т. Д. Будут вызываться только после отправки .. – RamRaider
'if (isset ($ _ FILES ['file'] ['name']))' это то, как я проверяю загружаемые файлы – Dale