PHP Как получить размер файла tmp во время загрузки - PullRequest
2 голосов
/ 29 марта 2012

Я хочу реализовать PHP-индикатор загрузки, и моя идея состоит в том, чтобы получать размер $ _FILES ['file'] ['tmp'] через каждую секунду.
Но что здесь проблема, когда файл загружается, там нет файла во временном каталоге, установленном в php.ini, но файл успешно загружен, и когда я пытаюсь получить размер $ _FILES ['file'] ['tmp'], он показывает ошибку предупреждение.

<br />
<b>Warning</b>:  filesize() [<a href='function.filesize'>function.filesize</a>]: stat failed for D:\Program Files\webserver\temp\phpDD05.tmp in <b>D:\Program Files\webserver\www\test\upload\uploading.php</b> on line <b>5</b><br />

что означает, что я думаю, что файл не существует. Как мы можем привести эту идею к успеху при загрузке с индикатором прогресса

Ответы [ 2 ]

0 голосов
/ 29 марта 2012

Файл инкапсулирован в запрос POST, поэтому вам нужно что-то вне вашей формы, которое загружает файл, и что-то, что периодически отслеживает файл.Я предлагаю некоторые уже сделанные решения, такие как индикатор загрузки ajax или аналогичные

0 голосов
/ 29 марта 2012

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

<?php
if ($_FILES["file"]["error"] > 0)
{
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
}
?>

Что это делает для вас?

...