我想讀取服務器上使用fopen和fread在php中上傳的視頻文件,但fopen返回"unable to open file"
。fopen無法打開位於服務器上的視頻文件
//test.php
<?php
$file=fopen("abc.mov","r") or exit("Unable to open file!");
?>
abc.mov存在於test.php所在的同一個文件夾中,即在同一個層次上。
我不爲什麼它無法讀取文件。 請幫忙。
我想讀取服務器上使用fopen和fread在php中上傳的視頻文件,但fopen返回"unable to open file"
。fopen無法打開位於服務器上的視頻文件
//test.php
<?php
$file=fopen("abc.mov","r") or exit("Unable to open file!");
?>
abc.mov存在於test.php所在的同一個文件夾中,即在同一個層次上。
我不爲什麼它無法讀取文件。 請幫忙。
這可能不是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。
希望這會有所幫助!
Thanx的文件權限以獲取幫助。我用ur代碼,它返回消息文件不可讀,或者甚至不存在。但是我更改了服務器的文件權限,那爲什麼是這個msg。你能建議如何改變文件權限,以便它變得可讀。 – Aisha 2011-03-28 12:11:01
0777是* all *權限。它應該是可讀的,可寫的和可執行的。也許你應該嘗試製作一個空白的文本文件並嘗試打開它。 – 2011-03-28 12:51:00
如果在fopen()調用中放入視頻文件的完整路徑,而不是名稱,會發生什麼? – aroth 2011-03-25 12:42:42
實際運行此腳本的用戶是否有權打開該文件? – 2011-03-25 12:43:53
我建議嘗試使用文件的絕對路徑而不是相對路徑。 – 2011-03-25 12:44:08