Проблема с загрузкой Flash PHP - PullRequest
0 голосов
/ 23 июля 2010

Я использую скрипт для загрузки фотографий (написанных мной), которые позволяют пользователю выбрать более 1 файла, используя Flash.Когда пользователь нажимает кнопку «загрузить», as3 опубликует загружаемый файл на upload.php , изменит его размер и сохранит его один за другим.

Проблема: На рабочем сервере, если я загружаю много фотографий и размер фотографий очень большой,> 2 МБ, процесс загрузки застрял на полпути, только первые несколько успешно загруженных фотографий.

Что я обнаружил: Если я попытался использовать фотографии меньшего размера или отключил сценарий изменения размера в upload.php, проблем не возникло вообще. Более того, сценарий отлично работает на моем локальном хостес более новым процессором по сравнению с проблемным сервером со старой моделью)

Сценарий изменения размера прост.Он просто проверяет, является ли разрешение изображения большим, и использует imagecopyresampled () для изменения размера изображения, если это необходимо.

Я попытался сбросить ресурс изображения в upload.php, чтобы освободить память, но это не помогает.В чем еще может быть проблема?

Ответы [ 2 ]

1 голос
/ 23 июля 2010

Если я правильно помню, в php есть ограничение на загрузку 2 Мб, вы можете изменить его в файле php.ini.

0 голосов
/ 23 июля 2010

Я решил проблему.

Это происходит, когда я использую код, подобный этому, в AS3:

for(var i:Number = 0; i< fileList.length; i++) {
    fileList[i].upload(new URLRequest(param.uploadURL+"&sessionid="+param.session_id));
}

Код, похоже, очень утомительно толкает скрипт upload.php.

Я внес изменения как в свой AS3, так и в JS, чтобы JS вызывал функцию AS3 upload () только каждый раз, когда загрузка файла завершена (из прослушивателя событий EVENT.COMPLETE)

Делая так, AS3не будет вызывать upload.php синхронно для нескольких файлов.Вместо этого он ожидает, пока файл завершит загрузку, затем вызывает другую загрузку для следующего файла.

...