Не удалось открыть видео файл, расположенный на сервере - PullRequest
2 голосов
/ 25 марта 2011

Я пытаюсь прочитать видеофайл, загруженный на сервер, используя 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 ]

2 голосов
/ 25 марта 2011

Вероятно, это не настоящая проблема с PHP или вашим файлом. Это, скорее всего, проблема с разрешениями файла. Здесь можно попробовать три вещи (вероятно, больше я не знаю). Во-первых, сделайте это где-нибудь перед открытием в вашем скрипте:

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.

Надеюсь, это поможет!

0 голосов
/ 25 марта 2011

Проверьте права доступа к файлу, чтобы убедиться, что у вас есть доступ к файлу из PHP.

...