@Hocok_B_KapMaHe

Как отслеживать процесс upload файла на чистом php?

Есть идея создания обычного прогресс-бара не устанавливая доп. модули и либы.

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

...
$tmp = $_FILES ['file']['tmp_name'];
exec ('/usr/bin/php5 /var/script.php' . $tmp . ' &',$out,$err);
move_uploaded_file ($tmp,'/var/www/upload_dir/' . $filename);
...


Прежде всего мы узнаем имя временного файла, передаем ее в отдельный скрипт который уже будет знать его временное имя, и при move_uploaded_file файл спокойно "однозадачно" загружается.

Так вот, временное имя файла мы запоминаем, и когда на клиентской стороне ajax-ом вызывается скрипт который спрашивает размер по временному имени типа мы должны отдавать его текущий filesize ('/tmp/phpV3Ki3').

Бегло наваял скрипт но при загрузке в директории /tmp пусто:

root@localhost:/tmp# ls -a
. .. .ICE-unix lighttpdcompress .X11-unix


В php.ini стоит upload_tmp_dir = '/tmp'

Куда пропал файл? PHP случайно не в оперативную память его льет?
Где-то же он должен сохранятся.
  • Вопрос задан
  • 2894 просмотра
Пригласить эксперта
Ответы на вопрос 3
1. В папке /tmp пользователя ищите.
2.
При выборе файла и нажатия на кнопку загрузить пользователь переходит на такой скрипт

Ваш код выполнится только тогда, когда php-скрипт получит файл целиком.
Ответ написан
Комментировать
@rakeev
Ответ написан
Комментировать
@Hocok_B_KapMaHe Автор вопроса
При выборе файла и нажатия на кнопку загрузить пользователь переходит на такой скрипт


Сорри, затупил.. Он же файл сначала отправляет, ну да..

Вопрос снят
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы