Поэтому я пытаюсь создать php на веб-хосте, разрешить клиенту загружать файлы на веб-хост, а затем веб-хост использует ftp_put для загрузки файла на другой ftp-сервер. Следующая функция используется для загрузки файла.
//upload ftp
function ftp_upload($conn, $vid_name, $video){
//get tmp file
$file_tmp_name = $video['tmp_name'];
echo $file_tmp_name;
//combine name with extension name
$server_file_name = $vid_name . "." . pathinfo($video['name'],PATHINFO_EXTENSION);
//upload video
$upload = ftp_put($conn, $server_file_name, $file_tmp_name , FTP_BINARY);
return $upload;
}
Однако он продолжает получать сообщение об ошибке,
Предупреждение: ftp_put (/ tmp / phpKOtNWK) [function.ftp-put]: не удалось открыть поток: такого файла или директора нет.
Поэтому я зашел в файловый менеджер на веб-хосте под моим поддоменом, такого каталога с именем tmp нет, и у меня нет привилегий для входа в корневой каталог веб-хоста.
спасибо за вашу помощь.
Так что благодаря Twisty 23 и советам Джона Стерлинга я решил проблему. К сожалению, никто не опубликовал ответ (все комментарии), который мешает мне остаться неразрешенным, поэтому я просто отвечу сам.
Это код, который я использовал в начале для перенаправления
//store video information into session
if(count($_POST) >0 ){
$_SESSION['vid_name'] = $_POST['vid_name'];
$_SESSION['video'] = $_FILES['video'];
//move tmp file to permanent location temp folder
move_uploaded_file($_FILES['video']['tmp_name'], "./temp/" . $_POST['vid_name'] . ".tmp");
//change tmp location to temp folder
$_SESSION['video']['tmp_name'] = "./temp/" . $_POST['vid_name'] . ".tmp";
//redirect
header("Location: " . $_SERVER['REQUEST_URI']);
die();
}
и тогда мне не нужно ничего менять в функции ftp_upload, я могу сразу использовать $ _SESSION [‘video’] [‘tmp_name’].
Других решений пока нет …