|
|
|
| Не открывает file();, если в имени '.
Warning: file(./Lunnqj_kamen%27.txt) [function.file]: failed to open stream: No such file or directory in ....php on line 10
|
Как исправить? Спасибо! | |
|
|
|
|
|
|
|
для: Maxam
(17.08.2008 в 22:02)
| |
<?php
$file = file("file'.txt");
?>
|
Так
file("file" . chr(27) . ".txt");
| почему-то ошибку выдает. | |
|
|
|
|
|
|
|
для: Unknown
(17.08.2008 в 22:12)
| | 27 hex = 39 dec | |
|
|
|
|
|
|
|
для: Unknown
(17.08.2008 в 22:12)
| | Всё равно, теперь ещё пишет знак:
.../Lunnqj_kamen%27.txt) [function.file]:
|
| |
|
|
|
|
|
|
|
для: Maxam
(17.08.2008 в 22:17)
| | а можно както код увидеть? | |
|
|
|
|
|
|
|
для: sl1p
(17.08.2008 в 23:07)
| |
$ReadingRoom = './ReadingRoom/Description/';
$ReadingRoomText = $ReadingRoom.''.$QUERY_STRING.''.chr(27).'.txt';
$FileReadingRoom = file ( $ReadingRoomText );
|
В этом случае:
$QUERY_STRING = Lunnqj_kamen'
|
Т.к. в строке браузера:
http://site.ru/page.php?Lunnqj_kamen'
|
| |
|
|
|
|
|
|
|
для: Maxam
(18.08.2008 в 00:24)
| | А слэшик перед апострофом поставить?... | |
|
|
|
|
|
|
|
для: Shorr Kan
(18.08.2008 в 00:42)
| | слэшик юзается когда текс в двойных кавычках, единичные его воспринимают за символ. | |
|
|
|
|
|
|
|
для: Maxam
(18.08.2008 в 00:24)
| | тю так замени единичные кавычки на двойные.
$ReadingRoom = "./ReadingRoom/Description/";
$ReadingRoomText = $ReadingRoom.$QUERY_STRING.".txt";
$FileReadingRoom = file ( $ReadingRoomText ); | |
|
|
|
|
|
|
|
для: sl1p
(18.08.2008 в 00:47)
| | Заменял - не выходит! | |
|
|
|
|
|
|
|
для: Maxam
(18.08.2008 в 00:54)
| | странно, только что у себя протестил, всё ок=\ | |
|
|
|
|
|
|
|
для: Maxam
(18.08.2008 в 00:24)
| | Вы бы убрали chr(27) (это не 0x27, выше уже говорили) и не использовали так строку запроса - у нее другой формат: параметр=URL-кодированное_значение. Соответственно не надо говорить "тут так, так как в адресной строке так" - значения могут отличаться. Выведете значение, которое пытаетесь пихнуть бедной функции. | |
|
|
|
|
|
|
|
для: BinLaden
(18.08.2008 в 01:34)
| | Простите, не понял ( | |
|
|
|
|
|
|
|
для: Maxam
(18.08.2008 в 10:38)
| | почему Вы написали chr(27) ?
chr(27) - это управляющий код ESC, а вовсе даже не апостроф. | |
|
|
|
|
|
|
|
для: Trianon
(18.08.2008 в 10:48)
| | Мне посоветовали. Я же говорю. Я вообще не знаю как всё решить тут. | |
|
|
|
|
|
|
|
для: Maxam
(18.08.2008 в 10:50)
| | Дело в том, что когда пишу так:
$File = file ( '../../../dir/dir/dir/dir/Lunnqj_kamen\'k.txt' );
|
всё работает!
Когда:
$per = '../../../dir/dir/dir/dir/';
$File = file ( '.$per.''.$QUERY_STRING.'.txt' );
|
а значение $QUERY_STRING берётся из адреса:
getenv ( 'QUERY_STRING' )
|
и равное:
не работает! | |
|
|
|
|
|
|
|
для: Maxam
(18.08.2008 в 10:59)
| | попробуйте-ка напечатать echo bin2hex($QUERY_STRING); чтобы выяснить, что же у Вас там действительно лежит. И показать здесь. | |
|
|
|
|
|
|
|
для: Trianon
(18.08.2008 в 11:04)
| |
4c756e6e716a5f6b616d656e2532326b
|
| |
|
|
|
|
|
|
|
для: Maxam
(18.08.2008 в 11:13)
| | А теперь ответьте мне честно на два вопроса.
1) Зачем врать, что у Вас в $QUERY_STRING лежит Lunnqj_kamen'k в то время как на самом деле там лежит Lunnqj_kamen%22k ?
2) Откуда вообще взялась эта ссылка, по которой Вы вызываете скрипт?
Судя по тому, что в названии файла у Вас апостроф, а не кавычка, эта ссылка некорректна. | |
|
|
|
|
|
|
|
для: Trianon
(18.08.2008 в 11:20)
| | Я вывожу сначала список всех файлов, которые есть в заданной /dir/ и формирую ссылку, вида
<a href="./page.php?имя_файла_translit">имя_файла_rus</a>
|
И потом, если $QUERY_STRING не пустое, то читаю файл. | |
|
|
|
|
|
|
|
для: Maxam
(18.08.2008 в 11:24)
| | Выходит, ссылку формируете неверно.
Нужно пользоваться rawurlencode() при формировани ссылки,
и rawurldecode - при получении имени.
Тогда у Вас врядли бы внезапно апостроф превратился в кавычку. | |
|
|
|
|
|
|
|
для: Trianon
(18.08.2008 в 11:34)
| | Как использовать rawurlencode()? | |
|
|
|
|
|
|
|
для: Maxam
(18.08.2008 в 11:47)
| | http://php.net/rawurlencode
Как Вы формировали ссылку?
Живого кода я так и не увидел. | |
|
|
|
|
|
|
|
для: Trianon
(18.08.2008 в 11:54)
| | Спасибо. Попробую разобраться. | |
|
|
|
|
|
|
|
для: Trianon
(18.08.2008 в 11:04)
| | Помогло:
$QUERY_STRING = str_replace ( "%27" , "'" , $QUERY_STRING );
|
Но может есть лучший вариант? | |
|
|
|
|
|
|
|
для: Maxam
(18.08.2008 в 11:34)
| | > Но может есть лучший вариант?
rawurldecode() | |
|
|
|
|
|
|
|
для: BinLaden
(18.08.2008 в 12:10)
| | test | |
|
|
|