Вход для клиентовВход для клиентов  Блог О компании
Поиск:

Помощь » База знаний » Файлы »

Не загружаются файлы в приложениях Файлы и Фото

При попытке загрузить файл в приложение WebAsyst Файлы или Фото вы можете увидеть в своем аккаунте надпись вида «1 файл(ов) успешно загружено», причем файл фактически не появляется в папке. Это может быть вызвано несколькими причинами:

  1. Вы пытаетесь загрузить слишком большой файл. Измените настройки сервера, как описано в соответствующей статье, или используйте только файлы меньшего размера для загрузки. Например, вы можете запаковать файл большого размера в многотомный архив ZIP или RAR и загрузить все части этого архива по отдельности.
  2. Внимание: пользователи онлайн-сервисов могут загружать только файлы не больше 200 МБ.
  3. Функция загрузки файлов отключена в настройках PHP на сервере. Убедитесь в том, чтобы следующие параметры имели указанные ниже значения:
    file_uploads = On
    upload_tmp_dir = [директория для временных файлов]

    Вместо «[директория для временных файлов]» в качестве значения параметра должен быть указан путь к существующей директории. Веб-сервер должен иметь права доступа для загрузки временных файлов в эту директорию.

  4. На сервере установлен PHP-модуль Suhosin. В этом случае для корректной загрузки файлов с помощью Flash-загрузчика (используемого в приложениях Файлы, Фото и Shop-Script) необходимо отключить параметр suhosin.session.cryptua, как показано ниже:
    suhosin.session.cryptua = Off
    В зависимости от операционной системы сервера, значение этого параметра может храниться в конфигурационном файле php.ini либо suhosin.ini.
  5. На сервере включен PHP-модуль mod_security, в результате чего при попытке загрузки файлов сервер возвращает скрипту код ошибки 406 («Not Acceptable»). Чтобы отключить модуль mod_security, необходимо вставить следующие строки в файл .htaccess в корневой директории WebAsyst:
    SecFilterEngine Off
    SecFilterScanPOST Off

    В случае невозможности отключить модуль таким образом необходимо обратиться к администратору сервера с соответствующей просьбой.

  6. Невозможность создания PHP-сессии с заданным идентификатором. Для проверки правильности создания сессий выполните следующее:
    • создайте PHP-файл (например, sessiontest.php) следующего содержания:
      <?php
      if (isset($_GET['PHPSESSID'])) {
          session_id($_GET['PHPSESSID']);
          session_start();
          if (isset($_SESSION['test_upload'])) {
              $result = '<font color="green">Session successfully created</font>';
          } else {
              $result = '<font color="red">Error creating session</font>';
          }
          echo $result;
      } else {
          session_start();
          $_SESSION['test_upload'] = true;
          $url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].
      "?PHPSESSID=".session_id();
      echo <<<HTML
      Скопируйте адрес этой ссылки и откройте его в другом браузере:
      <a href="{$url}">{$url}</a>
      HTML;
      }
      ?>
    • загрузите созданный файл на сервер и откройте его в браузере. В открывшемся окне должна появиться надпись следующего вида:
      Скопируйте адрес этой ссылки и откройте его в другом браузере:
      http://domain.ru/sessiontest.php?PHPSESSID=7aa3b0883d574a6c61126f34695a2b91
    • откройте появившуюся ссылку в другом браузере (если в данный момент открыт Internet Explorer, необходимо воспользоваться другой подобной программой, например, Firefox, Chrome, Opera, или Safari). Если на открывшейся странице отобразится надпись «Ошибка создания сессии», значит создание PHP-сессий с заданным идентификатором на вашем сервере невозможно. Для устранения причины проблемы необходимо обратиться к администратору сервера.
  7. Отсутствует необходимое дисковое пространство на сервере. Перед загрузкой файлов убедитесь в наличии свободного места для них.
 
 
Наш новый проект:

Фреймворк Webasyst

PHP-фреймворк для быстрого создания
веб-приложений для бизнеса.

www.webasyst.com