правильный путь изображения, на который ссылаются в exec () в php - PullRequest
0 голосов
/ 01 сентября 2010

Я пытаюсь использовать следующий скрипт для подсчета количества страниц PDF в файле PDF.

   $filename = $_ENV{'HOMEDIR'}."/www/path/to/pdf/file";
$cmd = "/usr/local/nf/bin/identify -density 12 -format '%p' '$filename' ";

$out = array();

exec($cmd,$out,$error);

foreach($out as $f=>$v)
{
    echo "$f = $v ";
}

Однако я не получаю вывод.Я думаю, это проблема, связанная с путем.Как ссылаться на пути в командах командной строки?Любая помощь руководство, пожалуйста!

спасибо Rahul

Ответы [ 2 ]

0 голосов
/ 01 сентября 2010

Во-первых, вы должны убедиться, что путь к файлу PDF существует примерно так:

$filename = "...";

// Brute force, maybe you could use some other "nicer" error handling
if(!file_exists($filename)) die('File does not exist!');

Тогда я бы проверил, если

  • PHP имеет права доступа для выполнения команд Imagemagick (права доступа к каталогу / исполняемым файлам Imagemagick)
  • Imagemagick разрешено читать файл и записывать по указанному пути (права доступа к каталогу / файлу)
  • ваша установка Imagemagick может фактически идентифицировать файлы PDF (я пробовал это на своем локальном компьютере (ImageMagick 6.1.7), используя командную строку, и IM потерпел неудачу с этой ошибкой: identify: Postscript delegate failed ...) - вероятно, Imagemagick нужен Ghostscript для работы с файлами PDF
0 голосов
/ 01 сентября 2010

Вы проверили, нет ли сообщений об ошибках в PHP?Если какие-либо ошибки происходят в коде PHP?Вы пытались применить свой код для выявления потенциальных проблем (например, print var_export (file_exists ($ filename), true);? Вы проверили возвращаемое значение exec (...)? Содержимое переменной $ error, установленной exec (...)? Вы проверили, что путь к исполняемому файлу (идентификатору) указан правильно? Для веб-сервера он может отличаться от того, когда вы обращаетесь к системе через ssh / telnet / console. Вы проверили, исполняется ли 'identifieruid веб-сервера? Вы проверили, доступен ли pdf-файл для чтения uid веб-сервера?

...