fopen无法打开位于服务器上的视频文件

时间:2011-03-25 12:38:44

标签: php fopen

我正在尝试使用fopen和fread在php上读取上传到服务器上的视频文件,但fopen返回"unable to open file"

//test.php
    <?php
    $file=fopen("abc.mov","r") or exit("Unable to open file!");
    ?>

abc.mov存在于test.php所在的同一文件夹中,即服务器上,即同一层次结构。

我不知道为什么它无法读取文件。 请帮忙。

2 个答案:

答案 0 :(得分:2)

这可能不是PHP或您的文件的真正问题。这很可能是文件权限的问题。你可以在这里尝试三件事(可能更多我不知道)。一,在脚本中的fopen之前的某个地方执行此操作:

chmod("abc.mov", 0777);

然后回显fileperms(),只是为了检查(调试后取出):

echo fileperms("abc.mov");

最后,在调用fopen之前,请确保is_readablefile_exists返回true:

if(file_exists("abc.mov") and is_readable("abc.mov")) {
    $file = fopen("abc.mov","r") or exit("Unable to open file!");
}
else die("File isn't readable, or maybe doesn't even exist!");

注意:我会使用file_get_contents()file_put_contents()而不是fopen。

希望这有帮助!

答案 1 :(得分:0)

检查您的文件访问权限,以确保您可以从PHP访问该文件。