давным-давно я разместил в стеке вопрос, в котором просил помощи с областью перетаскивания, которую мне пришлось добавить в свой проект .. Теперь я здесь, чтобы спросить вас, почему однажды загруженный файл любого типа не позволяет мне открыть последний, что дает мне эту ошибку:
Функция загрузки работает отлично! но это не дает мне разрешения открыть загруженный файл
Ниже прилагаю свой сценарий ...
Ajax.php
<?php
/*$arr_file_types = ['image/png', 'image/gif', 'image/jpg', 'image/jpeg',"document/pdf","file/txt"];
if (!(in_array($_FILES['file']['type'], $arr_file_types))) {
echo "false";
return;
}*/
date_default_timezone_set('Europe/Rome');
$date = date('Y-m-d');
if (!file_exists('uploads')) {
mkdir('uploads', 0777);
}
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/'.$date."_".$_FILES['file']['name']);
echo "File uploaded successfully.";
?>index.php
<style>
#drop_file_zone {
background-color: #37bf00;
border: #999 5px ;
width: 150px;
height: 150px;
padding: 8px;
font-size: 13px;
}
#drag_upload_file {
width:50%;
margin:0 auto;
}
#drag_upload_file p {
text-align: center;
}
#drag_upload_file #selectfile {
display: none;
}
.coloreTdDrop{
background-color: #37bf00;
}
</style><html>
<body>
<div id = "drop_file_zone" ondrop = "upload_file(event)" style = " width: 100%; border: 1px dashed black;" ondragover = "return false">
<div id = "drag_upload_file" >
<p>CARICA FILE<p/>
<input type = "file" id = "selectfile">
</div>
<input type = "button" value = "Seleziona File" class = "btn btn-success" onclick = "file_explorer();">
</div>
</body>
</html>
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script type = "text/javascript">
var fileobj;
function upload_file(e) {
e.preventDefault();
fileobj = e.dataTransfer.files[0];
ajax_file_upload(fileobj);
}
function file_explorer() {
document.getElementById('selectfile').click();
document.getElementById('selectfile').onchange = function() {
fileobj = document.getElementById('selectfile').files[0];
ajax_file_upload(fileobj);
};
}
function ajax_file_upload(file_obj) {
if (file_obj != undefined) {
var form_data = new FormData();
form_data.append('file', file_obj);
$.ajax({
type: 'POST',
url: 'ajax.php',
contentType: false,
processData: false,
data: form_data,
success:function(response) {
alert(response);
$('#selectfile').val('');
}
});
}
}
</script>Обновлено: это происходит, когда я пытаюсь добавить разрешение пользователям ... Вторая ошибка
@zipkundan chmod 777?
^ Это может сработать, я бы начал с отладки разрешений вашего каталога в Windows (Проводник -> Щелкните правой кнопкой мыши -> Свойства -> Безопасность ... см. это руководство). После того, как вы установили разрешения для основного каталога, все должно быть в порядке. 0777, как и вы, правильно. Не уверен, почему у вас там проблемы.
@ShengSlogar, посмотри на мою правку ... это происходит, когда я пытаюсь дать разрешение.
Думаю, 755 для файлов тоже подойдет.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попробуйте использовать "chmod" для обновления разрешений загруженного файла в вашей функции php.