Мне нужно знать, как получить статус функции copy()
в PHP.
Я использую эту функцию для загрузки удаленного файла, и я хочу индикатор выполнения этой программы.
Вам нужно будет написать свою собственную функцию копирования. Сначала проверьте размер файла с помощью запроса HTTP HEAD, например, с помощью этого решения:
http://php.net/manual/en/function.filesize.php#92462
Затем сделайте это, чтобы извлечь файл:
$remote = fopen('remote-file', 'r'); $local = fopen('local-file', 'w'); $read_bytes = 0; while(!feof($remote)) { $buffer = fread($remote, 2048); fwrite($local, $buffer); $read_bytes += 2048; //Use $filesize as calculated earlier to get the progress percentage $progress = min(100, 100 * $read_bytes / $filesize); //you'll need some way to send $progress to the browser. //maybe save it to a file and then let an Ajax call check it? } fclose($remote); fclose($local);
Вы не можете получить индикатор выполнения для вызова copy()
насколько мне известно.