ftp_put() 错误无法打开流:没有那个文件或目录

ftp_put() error failed to open stream: No such file or directory

所以我试图在虚拟主机上创建一个 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 和 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']。