我正在尝试使用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所在的同一文件夹中,即服务器上,即同一层次结构。
我不知道为什么它无法读取文件。 请帮忙。
答案 0 :(得分:2)
这可能不是PHP或您的文件的真正问题。这很可能是文件权限的问题。你可以在这里尝试三件事(可能更多我不知道)。一,在脚本中的fopen之前的某个地方执行此操作:
chmod("abc.mov", 0777);
然后回显fileperms(),只是为了检查(调试后取出):
echo fileperms("abc.mov");
最后,在调用fopen之前,请确保is_readable
和file_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访问该文件。