|
|
|
| есть такой код:
<?php
$file = __FILE__;
echo $file;
$list = explode('\\', $file);
echo "<br>";
$max = count($list) - 1;
echo $list[$max];
//проверочка
echo "<br>";
echo nl2br(htmlspecialchars(file_get_contents("$list[$max]")
|
написан для виндового сервера. вначале он должен вывести полный путь до самого себя. второй строчкой количество элементов в массиве. ну и далее выводит в браузер свое содержимое. соответсвенно на виндовом сервере все работает как надо.
а на линуксовом сервере, что бы все корректно работало в функции explode() требуется заменить слеш на обратный. но вот что интересно, положил скрипт как есть на линукс сервер и он отработал как надо. за исключением того что второй строкой вместо количества элементов в массиве снова вывел полный путь до себя.
вот мне и интересно почему так?
http://hw-p.ru/test00.php пример на линукс сервере | |
|
|
|
|
|
|
|
для: Zezst
(18.04.2013 в 10:05)
| | >что бы все корректно работало в функции explode() требуется заменить слеш на обратный
достаточно использовать константу DIRECTORY_SEPARATOR, чтобы работало независимо от ОС
<?php
$list = explode(DIRECTORY_SEPARATOR, $file);
|
>за исключением того что второй строкой вместо количества элементов в массиве снова вывел полный путь до себя.
>вот мне и интересно почему так?
почему он вообще должен выводить кол-во элементов массива?! вы выводите последний элемент массива $list, а он, в вашем случае, равен значению переменной $file, т.к. в строке не было найдено ни одного символа по-которому explode должен разбивать строку | |
|
|
|
|
|
|
|
для: Igorek
(18.04.2013 в 13:30)
| | упс.
точно. простите. может не совсем корректно задал вопрос. в винде указание файла через полный путь выдает ошибку, а линуксе нормально открывает. вот хотелось уточнить- это особенность OS, или настройки сервера?
Пы.Сы: за константу спасиб. | |
|
|
|
|
|
|
|
для: Zezst
(18.04.2013 в 13:42)
| | да вы и сейчас не очень понятно вопрос задали.
указание чему? какая ошибка?
если вы про
<?php
echo nl2br(htmlspecialchars(file_get_contents("$list[$max]")
|
то, во-первых, кавычки там не нужны,а во-вторых, еще раз взгляните на то, что содерижтся в $list[$max] в обоих случаях | |
|
|
|
|
|
|
|
для: Igorek
(18.04.2013 в 18:09)
| | Эх согласен. Тяжело у меня сегодня с русским языком.
Ошибки нет никакой.
Есть сервера на винде и на линуксе. И там и там висит по несколько сайтов.
В линуксе указание файла от корня диска прокатывает, в винде нет.
Почему так происходит? Что это? Особенность ОСь или настройки сервера. В обоих случаях сервер Апач. | |
|
|
|