我的脚本无法访问临时位置的文件

时间:2014-10-19 18:09:21

标签: php file-upload upload file-get-contents snapchat

我有一个html请求用户名密码图像文件

然后我使用这个脚本将其上传到Snapchat故事:

<?php
$target_dir = "uploads/";
$target_dir = $target_dir . basename( $_FILES["uploadFile"]["name"]);
$uploadOk=1;

if (move_uploaded_file($_FILES["uploadFile"]["tmp_name"], $target_dir)) {
    echo "The file ". basename( $_FILES["uploadFile"]["name"]). " has been uploaded.";
} else {
    echo "Sorry, there was an error uploading your file.";
}

$user = $_POST['user'];
$pass = $_POST['pass'];
$img = $_FILES["uploadFile"]["tmp_name"];

require_once("src/snapchat.php");
$snapchat = new Snapchat($user, $pass);
$id = $snapchat->upload(Snapchat::MEDIA_IMAGE,file_get_contents($img));
$snapchat->setStory($id, Snapchat::MEDIA_IMAGE, 10);
?>

但它不起作用! 它一直在说:

Warning: file_get_contents(/tmp/phpCO1pki) [function.file-get-contents]: failed to open stream: No such file or directory in /home/u753295385/public_html/run_command.php on line 18

我可能会遗忘一些事情。如果你能帮助我,那就太棒了!

1 个答案:

答案 0 :(得分:1)

那是因为文件不再存在了 - 你移动了它:

if (move_uploaded_file($_FILES["uploadFile"]["tmp_name"], $target_dir)) {

此函数将文件从其他位置的临时目录中移出。因此要么不要移动,要么使用目标位置 - $target_dir

我不知道Snapchat是什么,但如果您只是使用该文件的内容,则根本不需要移动它。只需检查$_FILES["uploadFile"]["error"],然后传递临时名称:

$id = $snapchat->upload(Snapchat::MEDIA_IMAGE,file_get_contents($_FILES["uploadFile"]["tmp_name"]));