Форумы портала PHP.SU » » Вопросы новичков » O! $_FILES файл на сервер.

Страниц (1): [1]
 

1. ytrewq123 - 29 Декабря, 2017 - 12:13:16 - перейти к сообщению
Здравствуйте!
Что то я ничего не пойму.
Вроде не первый раз и всегда всё было хорошо. И тут такое.
Не подскажите почему так.
Элементарно гружу файл на сервер. А в массиве ФИЛЕС такое.
array(1) {
["fo"]=>
array(5) {
["name"]=>
string(17) "Chrysanthemum.jpg"
["type"]=>
string(0) ""
["tmp_name"]=>
string(0) ""
["error"]=>
int(7)
["size"]=>
int(0)
}
}

Вместо как всегда.
array(1) {
["foty"]=>
array(5) {
["name"]=>
string(10) "Tulips.jpg"
["type"]=>
string(10) "image/jpeg"
["tmp_name"]=>
string(24) "E:\xampp\tmp\php72D5.tmp"
["error"]=>
int(0)
["size"]=>
int(620888)
}
}

Не подскажите, по какой причине эти данные не заполняют массив $_FILES
2. Строитель - 29 Декабря, 2017 - 12:32:39 - перейти к сообщению
ytrewq123 пишет:
"error"=>int(7)
UPLOAD_ERR_CANT_WRITE - Не удалось записать файл на диск
А вот по какой причине, я не могу подсказать. Может быть просто именно этот файл повреждён, или проблема с правами доступа.
3. ytrewq123 - 29 Декабря, 2017 - 12:45:33 - перейти к сообщению
Спасибо.
Да это я тоже уже вчера нарыл и теперь вообще не пойму, что и как.
Нет, файл элементарный.
А о правах. Если я имею вложенность.
Папка1- Папка2- Папка3- Папка4-Фото.
И в Фото хочу позволить грузить. Разрешение всей цепочке. Или только для Фото
Самое странное, что иногда всё норма и вдруг опять это.
И самое не понятное, что на другом сайте на этом же хосте, всё грузит всё хорошо, тут тоже не было проблем и вдруг.
Подождём, может кто ещё умнее подойдёт.
P.S.И ещё я подумал, ведь ошибка 7 как раз потому что нет инфо в $_FILES.
Потому не может записать, а не наоборот.
А вот почему нет инфо в $_FILES.
4. Мелкий - 29 Декабря, 2017 - 12:53:33 - перейти к сообщению
https://github[dot]com/php/php-src/b[dot][dot][dot]/rfc1867[dot]c#L1060 (php константа UPLOAD_ERR_CANT_WRITE - это UPLOAD_ERROR_F в C исходнике, объявление в начале файла)
Системный вызов write вернул ошибку либо отчитался что записал меньше байт, чем просили. Что именно из этого случилось - без пересборки PHP не понять, E_NOTICE закрыты макросами препроцессора.
Права и возможность создания файла при этом есть, это проверяется немного раньше и кидает E_WARNING в случае ошибки, содержимое файла до лампочки, его рассматриваем как набор байт.

В целом - проблема операционной системы. Может быть upload_tmp_dir был переполнен, может там лимиты на размер файла

 

Powered by ExBB FM 1.0 RC1