Прочитать имя файла из другого файла, затем получить доступ к файлу

#php #file #filesize

#php #файл #размер файла

Вопрос:

Что я делаю не так? У меня есть программа, которая записывает jpeg-filename в файл с именем «last_jpeg». Я прочитал имя файла из этого файла, но не могу получить доступ к файлу с помощью PHP.

 <?php
$getfilename = file_get_contents('/work/last_jpeg'); // -> '/work/201111091134.jpg'
echo 'File size for '.$getfilename.' is: '.filesize($getfilename);

// Filesize fails because it does not find/can't access the file for some reason?

system('ls -la '.$getfilename);
// Outputs: -rw-rw-r-- 1 user user 240425 Nov 9 11:34 /work/201111091134.jpg
?>
  

Спасибо за ваши ответы!

  • Энди

Комментарии:

1. /work/201111091134.jpg указывает абсолютный путь от корня вашей файловой системы. Это то, где находится файл? Если нет, это ваша ошибка. Если да, имеет ли пользовательский процесс php разрешение на доступ к папкам и файлу?

2. используйте dir(), чтобы получить имя файла. Затем, как только у вас это будет, используйте file_get_contents. В настоящее время это выглядит так, как будто вы используете file_get_contents как «dir_get_contents» — ок?

3. Да, это правильное расположение этого файла. Оба файла ‘last_jpeg’ и ‘201111091134.jpg ‘ иметь те же права доступа и владельца.

4. @user247245 /work/last_jpeg — это файл, содержащий имя другого файла, к которому мне нужно получить доступ.

5. @user247245 Это было просто! Спасибо большое.. Это прекрасно работает 🙂

Ответ №1:

Попробуйте использовать URL-путь, чтобы получить содержимое файла следующим образом:

$getfilename = file_get_contents('http://www.yoursite.com/work/last_jpeg ');

ИЛИ как:

//для > PHP 5
$getfilename = $file = file_get_contents('/work/last_jpeg', FILE_USE_INCLUDE_PATH);

Я надеюсь, что это работает для вас

Комментарии:

1. Спасибо за ваши ответы.. Все, что требовалось, это немного обрезать 🙂