所以我试图在webhost上创建一个php允许客户端将文件上传到webhost然后webhost使用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]:无法打开流:没有这样的文件或导演。
所以我去了我的子域下的webhost中的文件管理器,没有这样的名为tmp的目录,我没有权限进入webhost的根目录。
感谢您的帮助。
答案 0 :(得分:0)
感谢Twisty 23和Jon Stirling的建议,我已经解决了这个问题。不幸的是没有人发布回答(所有评论),这让我感到不安,所以我只会自己回答。 这是我在开始时使用的代码重定向
//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']。