Здравствуйте, у меня тут возникла ошибка при загрузки файла.
OS: windows server 2019
WEB: nginx
PHP: 7.4.15
когда этот скрипт был на linux то нормально работал, но пришлось перейти на windows и перестал нормально работать.
PHP:
$expensions= array("mp4", "mkv");
$file_ext=strtolower(end(explode('.',$_FILES['userfile']['name'])));
if(in_array($file_ext,$expensions)=== false){
echo "Расширение запрещено, выберите файл MP4 или MKV!\n";
}else{
$uploaddir = 'D:/nginx/www/video/source/'.$aData['name'].'/';
if(is_uploaded_file($_FILES['userfile']['tmp_name'])){
echo "\nDownloaded.\n";
} else {
echo "\nError of download!\n";
}
if(!is_dir($uploaddir)){
mkdir($uploaddir, 0777, TRUE);
@chmod($uploaddir, 0777);
}
$uploadfile = $uploaddir . basename(preg_replace('/ /u', '_', $_FILES['userfile']['name']));
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "Файл корректен и был успешно загружен.\n";
} else {
echo "Возможная атака с помощью файловой загрузки!\n";
}
}
HTML:
<form action="input.php" method="post" class="d-uploader" id="form" enctype="multipart/form-data">
<div class="lk-inp" style="display: grid;">
<label for="name">Название релиза:</label>
<input name="name" id="name" placeholder="Введите название релиза" type="text">
<label for="userfile">Видео (mp4 и mkv):</label>
<div class="form-group inputDnD">
<input type="file" class="form-control-file" name="userfile" id="userfile" onchange="readUrl(this)" data-title="Drag and drop a file">
</div>
</div>
<button class="btn btn-green" onclick="">Загрузить на сервер</button>
</form>
Ответ сервера всегда :
Error of download! Возможная атака с помощью файловой загрузки!
Вывод print_r($_FILES):
Array (
[userfile] => Array (
[name] => trailer.mp4
[type] =>
[tmp_name] =>
[error] => 1
[size] => 0
)
)
ТУТ Проверять