Похоже, что эта проблема может возникать из-за ограничения размера загружаемого файла и типа или проницаемости при записи назначения или путь назначения не удовлетворяет или файлам загрузка по http / https заблокирована командой безопасности.
Решение:
Ограничение размера файла для загрузки: По умолчанию веб-серверы могут позволяют загружать до 1 МБ. вам нужно изменить свойство с именем Max_upload_size
по вашему требованию.
Проникновение записи назначения: Иногда мы можем забыть удалить защиту Райта для загрузки папки назначения. Таким образом, измените разрешения, чтобы отключить защиту Райта для папки назначения.
Путь назначения не удовлетворяет: Иногда путь назначения может не очищаться для внесения изменений. Поэтому лучше предоставить полный путь. код snip1: поместите в верхнюю часть вашей логики c в index. php
define("BASE_PATH", __DIR__);
code snip2: измените это $location
в schollinaries_upload. php
$location = BASE_PATH . '/assets/uploads/files/disciplinary_attachments/' . $name;
Загрузка файла по http / https: , если ваша команда безопасности включает какие-либо ограничения, как их включить. или внесите свой белый список.
наконец: небольшое изменение в вашем коде.
Кодовый отрывок:
<?php
//comment this two lines in production
error_reporting(E_ALL);
ini_set('display_errors', 1);
//define("BASE_PATH", __DIR__); //if both index.php and disciplinaries_upload.php in same location, comment this else keep it in index.php
$did = $_GET['did'];
if(count($_FILES) > 0)
{
$test = explode('.', $_FILES["file"]["name"]);
$fname = reset($test);;
$ext = end($test);
$name = $fname . '_' .$did. '.' . $ext;
$location = BASE_PATH . '/assets/uploads/files/disciplinary_attachments';
$permition_cod = substr(sprintf('%o', fileperms($location)), -4);
@chmod($location, "0777");
if (move_uploaded_file($_FILES["file"]["tmp_name"], $location.'/'.$name)) {
echo '<label class="text-success">File Uploaded Successfully</label>';
} else {
echo '<label style="color: red">File Upload Failed</label><br> Original File Name: '.$_FILES["file"]["name"].'<br> Extension: '.$ext.'<br> Newly Generated Name: '.$name.'<br>File Location: '.$location;
}
@chmod($location, $permition_cod);
}
?>
Удачи ...