Могу ли я использовать header () для передачи параметров строки запроса? - PullRequest
3 голосов
/ 11 января 2012

Я использую XAMPP в Windows.

Я настроил Apache для перенаправления всех запросов в файл controller.php. Контроллер регистрирует все запросы к базе данных до начала любой другой обработки, а также выполняет несколько других операций, включая проверку разрешения на доступ к соответствующим файлам.

Большинство запросов отображаются в файл, который я затем обслуживаю с соответствующими заголовками и файлом чтения. Например:

header ( 'Content-Type: text/css' );
header ( 'Content-Length: ' . filesize ( $file ) );
readfile ( $file );

Моя проблема в том, что если URL содержит строку запроса, я не знаю, как передать это в файл.

http: ///myswf.swf? Q1 = test сопоставляется с C: \ SWF \ myswf.swf

header ( 'Content-Type: applicaton/x-shockwave-flash' );
header ( 'Content-Length: ' . filesize ( $file ) );
readfile ( $file );

не удается передать параметр q1 в SWF.

Я не могу повозиться с SWF.

Как мне вызвать SWF и успешно передать параметры из PHP?

Ответы [ 2 ]

4 голосов
/ 11 января 2012

SWF-файл не выполняется на сервере.Таким образом, вы не можете ничего «передать» в SWF-файл.Файл просто загружается клиентом и затем запускается в браузере, где он получает параметры URL.Со стороны клиента это выглядит так (упрощенно):

  • браузер открывает URL http://example.com/myswf.swf?q1=test
  • загрузка SWF-файла
  • браузер выполняет загруженный файл и передаетэто параметры URL / запроса

Пока этот процесс работает на стороне клиента, не имеет значения, как именно вы обслуживаете файл.

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

Насколько я понимаю, вы не можете использовать параметры GET в имени файла, поэтому readfile (filename.php? Q = 123); НЕ будет передавать параметры,

На самом деле я думаю, что единственный способ сделать это - удаленный file_get_contents (); suchas:

echo file_get_contents("http://domain.com/file.swf?params");

В этом случае веб-сервер на domain.com будет обрабатывать параметры в SWF-файле, это означает, что SWF-файл должен быть общедоступным, но никто не поймет, где он находится, поэтому вы можете есть папка типа domain.com/asfqwasc213412sad/file.swf, чтобы скрыть ее

Я не слишком разбираюсь в том, как SWF обрабатывает GET-параметры, так что это все предположение с точки зрения обслуживания SWF-файла с параметрами

Обновление Спасибо @deceze за эту информацию, вероятно, она не будет работать с SWF-файлами из-за способа работы параметров

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...