PHP фоновый скрипт не может получить доступ к временному файлу при загрузке - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть PHP-скрипт, который получает загрузку и откладывает обработку этой загрузки в фоновый сценарий с помощью shell_exec().

Но фоновый сценарий не может получить доступ к временному файлу загрузки.

Сценарий получателя

$file_loc = $_FILES['file']['tmp_name'];
echo $file_loc.' exists = '.file_exists($file_loc);
shell_exec('php background.php -i='.$file_loc.' >report.txt &');

Это выводит

{путь к файлу} существует = 1

Background.php

$args = getopt('i:');
$file_loc = $args['i'];
echo $file_loc.' exists = '.file_exists($file_loc);

В result.txt я получаю

{путь к файлу} существует =

то есть не существует. Что мне нужно сделать, чтобы фоновый скрипт получил доступ к расположению файла tmp?

1 Ответ

0 голосов
/ 12 ноября 2018

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

$destination = "FOLDER_NAME/".$_FILES['file']['tmp_name'];
$file_loc = $_FILES['file']['tmp_name'];
move_uploaded_file ( $file_loc, $destination )
echo $destination.' exists = '.file_exists($destination);
shell_exec('php background.php -i='.$destination.' >report.txt &');
...