Могу ли я настроить файл PHP, чтобы он работал в качестве обработчика для расширения файла? - PullRequest
1 голос
/ 08 января 2012

Допустим, у меня есть файл с расширением .quote. Я бы хотел, чтобы веб-сервер отправлял содержимое этого файла с помощью простого сценария PHP перед отправкой в ​​браузер.

Например:

Это цитата

Будет преобразовано в

"Это цитата"


Похоже, мне нужно что-то положить в мой .htaccess в соответствии с

AddHandler x-quote .quote
Action x-quote /cgi/quote.cgi

И тогда мой сценарий будет выглядеть примерно так:

#!usr/local/php5
<?php
    header("Content-type: text/plain");

    #I don't know how to do this step...
    echo '"'.$CONTENTS_OF_THE_FILE.'"'; 
?>

Однако теперь я просто получаю сообщение об ошибке 404 при просмотре файла .quote на сервере. Я могу думать о нескольких вещах, которые могут быть причиной этого:

  1. Файл cgi не найден и / или не выполнен - Как определить, разрешено ли запускать файлы cgi на моем сервере? Должен ли путь быть относительно webroot?
  2. Неправильный путь к исполняемому файлу php - Это указано где-то в php.ini? Если да, то где?
  3. Я не правильно делаю в самом PHP - Что мне делать

У меня нет SSH-доступа к рассматриваемому серверу.

1 Ответ

0 голосов
/ 08 января 2012

Почему бы просто не запустить его через обычный файл PHP, а не через CGI, и использовать mod_rewrite? Ваш .htaccess будет выглядеть как

RewriteRule ^(.+?).quote$ quote.php?f=$1

Ваш PHP:

<?php

header("Content-type: text/plain");

$quote = file_get_contents($_GET['f']);
echo '"'.$quote.'"';   

?>
...