Автор Тема: Опять я с этими слешами...  (Прочитано 3713 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Опять я с этими слешами...
« : 18 Апреля 2003, 15:12:02 »
К примеру-----
$list=$_SERVER[\'PHP_SELF\'];
$host=$HTTP_SERVER_VARS[\'HTTP_HOST\'];
$longname=array("$host","$list");
$longfilename=implode(\'/\',$longname);
echo $longfilename;
Выводит host//path_to_file

magic_quotes_gpc=Off
magic_quotes_runtime=Off
(с базой я вообще не работаю)

Интерестно ещё то, что если отдельно выводить $list и отдельно $host то усё путём...

Оффлайн D1g174LM4n14c

  • 1m
  • Постоялец
  • ***
  • Сообщений: 137
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Опять я с этими слешами...
« Ответ #1 : 18 Апреля 2003, 16:10:18 »
$list уже содержит слэш вначале. будьте внимательнее!
Кстати, интересный кусок кода..
Почему для инициализации $list используеться $_SERVER
а для $host - $HTTP_SERVER_VARS
правильнее было бы записать так

$host = $_SERVER[\'HTTP_HOST\'];
Мы такие!

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Опять я с этими слешами...
« Ответ #2 : 18 Апреля 2003, 16:54:39 »
Насчёт  $HTTP_SERVER_VARS, согласен (хотя в пхп 4 наследование ентого дела из 3 го насколько я знаю существует), проблема не в этом...
$list слешей не содержит (и проверено и доказано переменными окружения в пхп.ини)...
Если кто-то и добавляет их, то это implode();
Сформировать такую строку (без появления левых слешей) можно при помощи urlencode() без особых проблем ( так в последнее время и делаю)...
Просто интерестно  в чём бок и как от него избавиться...:)

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Опять я с этими слешами...
« Ответ #3 : 18 Апреля 2003, 17:09:55 »
MrGreeN
неверно! D1g174LM4n14c твой левый слэш нашел правильно... переменная PHP_SELF содержит начинающий слэш всегда, вот оттуда он и возникает

/temp/phpinfo.php

а urlencode к формированию строк не имеет никакого отношения.... если уж мешает слэш то чтоб долго не париться str_replace("//","/",$slashes)

Оффлайн D1g174LM4n14c

  • 1m
  • Постоялец
  • ***
  • Сообщений: 137
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Опять я с этими слешами...
« Ответ #4 : 18 Апреля 2003, 18:00:19 »
я не понимаю, зачем вообще implode() использовать для двух строк?
весь вышеприведенный код можно было переписать намного проще:

// $list=$_SERVER[\'PHP_SELF\'];
// $host=$HTTP_SERVER_VARS[\'HTTP_HOST\'];
// $longname=array("$host","$list");
// $longfilename=implode(\'/\',$longname);
// echo $longfilename;

echo  $_SERVER[\'HTTP_HOST\'] . $_SERVER[\'PHP_SELF\'];
ENJOY!
Мы такие!

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Опять я с этими слешами...
« Ответ #5 : 18 Апреля 2003, 18:41:35 »
Цитировать
D1g174LM4n14c:
echo  $_SERVER[\'HTTP_HOST\'] . $_SERVER[\'PHP_SELF\'];

Гы, гы.... мне надо не выводить строку, а формировать её для посылки в хедер (для того же и использую urlenncode())
Но со слешом слева согласен (просто перепутал две переменные, подумал что речь идёт о хосте а не о пути)
semya
За
str_replace("//","/",$slashes); спасибо но за каждым разом так же вырезать их не будешь...Зачем же тогда я  magic_quotes_gpc отключил...
Хозйке на заметку ----
Если слеши не //// а \\\\\\\\ то чтобы их обнаружить их нужно указывать вдвое больше.....Вот так...

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
Опять я с этими слешами...
« Ответ #6 : 18 Апреля 2003, 18:53:02 »
Цитировать
MrGreeN:
Гы, гы.... мне надо не выводить строку, а формировать её для посылки в хедер (для того же и использую

Гы, гы... $path=$_SERVER[\'HTTP_HOST\'] . $_SERVER[\'PHP_SELF\'];
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн D1g174LM4n14c

  • 1m
  • Постоялец
  • ***
  • Сообщений: 137
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Опять я с этими слешами...
« Ответ #7 : 18 Апреля 2003, 19:16:07 »
вот-вот...
Мы такие!

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Опять я с этими слешами...
« Ответ #8 : 19 Апреля 2003, 11:32:07 »
Ну ладно ладно уболтали.... (Гы гы...);)
Значица magic_quotes_gpc тута не причём... (а жаль...)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28