Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: php upload  (Прочитано 754 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн drlenux

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
php upload
« : 16 Июля 2014, 17:47:37 »
Уважаемые форумчане, я web-разработчик.
И наткнулся на такую проблемму.
Не могу загрузить фото на сервер

Введение:
OC: ubuntu
Server: LAMP

в php.ini указан для загрузки макс размер 20М
в .htaccess -> 20M
в php коде -> 20M

А грузить не хочет, такое ощущение что либо не может загрузить из-за лимита хотя фото 11КВ
Или нет доступа к папке.

сам обработчик php
(Нажмите, чтобы показать/скрыть)
загрузка через AJAX
на сервере работает
На виртуалке нет

В чем может быть причина?

chemtech

  • Гость
Re: php upload
« Ответ #1 : 16 Июля 2014, 17:56:18 »
а php может писать ошибки? debug? или еще что-нибудь?

Оффлайн SvMidi

  • Активист
  • *
  • Сообщений: 815
    • Просмотр профиля
Re: php upload
« Ответ #2 : 16 Июля 2014, 19:34:54 »


думаю ещё и здесь беда:
$uploaddir = "../tpl/system/img/tovar/"; /*a directory inside*/лучше сделать как то так:
$uploaddir = $_SERVER['DOCUMENT_ROOT']."/tpl/system/img/tovar/"; /*a directory inside*/и права на каталог посмотреть надо

Я знаю только то, что ничего не знаю, остальные не знают и этого.

Оффлайн .ubuntufan

  • Активист
  • *
  • Сообщений: 638
    • Просмотр профиля
Re: php upload
« Ответ #3 : 16 Июля 2014, 20:31:43 »
Цитировать
error_reporting(0);

Во первых включи error_reporting и error_log, отображение всех ошибок, включая E_NOTICE, загляни в лог.
Во вторых массив $_FILES содержит коды ошибок при неудачной попытке загрузки ($_FILES['userfile']['error'] ), включая UPLOAD_ERR_INI_SIZE, когда размер файла превышает установленный.

http://htmlweb.ru/php/function/$_files.php

В третьих вместо самописных велосипедов getExtension, лучше использовать pathinfo:

http://php.net/manual/ru/function.pathinfo.php

В четвертых размер файла в байтах а не в битах:

$size < (20*1024*1024*8)

ну и кроме этого еще масса косяков

в общем читай:

http://php.net/manual/ru/features.file-upload.post-method.php
« Последнее редактирование: 16 Июля 2014, 20:53:15 от .ubuntufan »

Оффлайн drlenux

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: php upload
« Ответ #4 : 19 Июля 2014, 15:06:38 »
Очень странно, что на сервере все работает без збоя, а на виртуалке не грузит файл. Ошибки не выдаёт "display_error" или как его там, установлен true.
У меня такое случалось когда не видел папку.
Цитировать
$uploaddir = $_SERVER['DOCUMENT_ROOT']."/tpl/system/img/tovar/"; /*a directory inside*/
использовать не могу, т.к. не знаю прямой путь, он постоянно разный, в зависимости от того какой "class" его вызывает.
Вопрос :
Может ли быть ошибка в настройке сервера?

Оффлайн drlenux

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: php upload
« Ответ #5 : 23 Августа 2014, 20:02:06 »
Нужно было выполнить в терминале
sudo chmod 777 /var/www/.../imgа не
Цитировать
chmod 777 /var/www/.../img
как я до этого делал
« Последнее редактирование: 23 Августа 2014, 20:03:38 от drlenux »

 

Страница сгенерирована за 0.031 секунд. Запросов: 25.