php не удалось открыть поток - нет такого файла или каталога - PullRequest
0 голосов
/ 10 марта 2011

У меня есть следующий php код:

<html><body>

    <?php include('scores.php?filename=scores/score.sco&scoresize=10&action=VIEW&viewtype=HTML'); ?>
</body>
</html>

Результат вы можете увидеть здесь: http://apps.facebook.com/krajecr/pokus2.php

Как видите, он говорит мне, что его не существует. Но если я использую только ссылку: http://apps.facebook.com/krajecr/scores.php?filename=scores/score.sco&scoresize=10&action=VIEW&viewtype=HTML это прекрасно работает, и я вижу именно то, что я хочу видеть. В чем проблема, пожалуйста?

Ответы [ 4 ]

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

Как говорится в сообщении об ошибке, "Score.php? Имя_файла = Scores / Score.sco & Scoresize = 10 & action = VIEW & viewtype = HTML "не является файлом или каталогом.То, что вы можете вводить параметры строки запроса («?» И после) в свой веб-браузер, не означает, что они являются частью имени файла.Имя файла: scores.php.

Похоже, вы хотите пойти и сделать запрос через веб-сервер, а не просто открыть локальный файл.К счастью, include допускает , что тоже изначально.Однако вы должны указать его:

<html>
  <body>
    <?php include('http://someserver.com/scores.php?filename=scores/score.sco&scoresize=10&action=VIEW&viewtype=HTML'); ?>
  </body>
</html>

В качестве альтернативы (и предпочтительно для сохранения HTTP-запроса), если scores.php находится на том же веб-сервере, вы можете получить к нему доступ как к обычному файлу, но установить$_GET параметров заранее, так как они сохранятся благодаря директиве include:

<html>
  <body>
    <?php
    $_GET = Array('filename' => 'scores/score.sco'); // add the others here too
    include('scores.php');
    ?>
  </body>
</html>

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

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

Насколько я знаю, вы не можете использовать include с параметрами, это должно быть имя файла.Вы можете установить $ _GET ['var'] = 'value';до вашего звонка, чтобы включить способ, который действительно работает.

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

вы не можете сделать включение со значениями get.

Вы можете установить все значения получения с помощью

$ _ GET [..] = ...

, а затем сделать

включают ( 'scores.php')

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

Проблема заключается в том, что вы указали его как доступ через файловую систему, когда вам действительно нужно иметь доступ через веб-сервер.Введите полный URL.

Еще лучше, преобразуйте скрипт для включения в функцию, а затем включите и вызовите его.

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