Медленная загрузка в PHP Joomla Controller - PullRequest
0 голосов
/ 24 февраля 2012

вот код, который я использую для загрузки файлов и разархивирования их в каталоге. Но проблема в том, что он кажется очень медленным для файлов размером более 5 МБ. Я думаю, что это не связано с сетью, потому что она находится на локальном компьютере. Нужно ли редактировать какой-либо параметр в файле php.ini или в apache или любом другом обходном пути?

$target_path = "../somepath/";
            $target_path .= JRequest::getVar('uploadedDirectory')."/";  

            $target_Main_path= JRequest::getVar('uploadedDirectory')."/";

            $folderName = $_FILES['uploadedfile']['name'];      
            $target_path = $target_path . basename($folderName);

            //upload file
            if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path."/")) {
                echo "The file ".  basename( $_FILES['uploadedfile']['name']). " has been uploaded";
            } else{
                echo "There was an error uploading the file, please try again!";
            }


            $zip = new ZipArchive;
        $res = $zip->open($target_path);


            $target_path = str_replace(".zip", "", $target_path);

            echo $target_path;

     if ($res === TRUE) {
         $zip->extractTo($target_path."/");
         $zip->close();
         echo "ok";
     } else {
         echo "failed";
     }  

1 Ответ

0 голосов
/ 25 февраля 2012

При обработке загрузки файлов необходимо учитывать множество факторов.К ним относятся настройки PHP:

  • max_input_time
  • max_execution_time
  • upload_max_filesize
  • post_max_size

Время выполнения может влиять нанапример, если у вас медленная скорость загрузки, что приводит к тайм-ауту.

Размер файла может вызвать проблемы, если загрузка больше, чем upload_max_filesize, как в случае, если ваш размер файла + остальные данные сообщения.превышает post_max_size.

Zip использует много памяти в процессах архивирования / извлечения и может легко превысить объем памяти, выделенный для PHP - так что это также стоит проверить.

Я быначните с этой страницы и обратите внимание на некоторые комментарии.

...