Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98

Ошибка в пути к файлу и file_exists() не видит файл

05.05.2015, 18:56. Показов 5949. Ответов 5

Студворк — интернет-сервис помощи студентам
Добра вам "коллеги".
Столкнулся я сегодня с неведомой ранее фигнёй...

Пишу код всё работает... и вдруг перестаёт...
Имеется переменная dom

PHP
1
2
3
4
5
6
7
8
9
10
11
12
define( 'DS', DIRECTORY_SEPARATOR );
 
class Main {
 
    public $dom;
 
    public function __construct() {
        $this -> dom = [ 'root' => dirname( __FILE__ ) . DS , 'file' = 'file'. DS ];
        self::ini();
    }
 
}
далее в ini(); я собираю путь
PHP
1
2
3
 $place = self::place(); // получение $_SERVER[ 'REQUEST_URI' ] убирая GET параметры и расширение файла.
 $path = $this -> dom[ 'root' ] . $this -> dom[ 'file' ] . $place . '.php';
 if ( file_exists( $path ) ) { include $path; }
ОДНАКО в итоге получаю:
PHP
1
2
Path == /home/users2/k/kkk/domains/my.domen.ru/file/index.php
Warning: file_exists() expects parameter 1 to be a valid path, string given in /home/users2/k/kkk/domains/my.domen.ru/system.php on line 109
при этом:
делаю var_dump и получаю : string(61) "/home/users2/k/kkk/domains/my.domen.ru/file/idnex.php"
а если сделать var_export то получаю: '/home/users2/k/kkk/domains/my.domen.ru/file/' . "\0" . 'index.php'

Кто нибудь имеет информацию откуда появляется
PHP
1
' . "\0" . '
и почему ваще перестало file_exist() срабатывать?

Код сильно утрирован что бы не перегружать ваши мозги
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.05.2015, 18:56
Ответы с готовыми решениями:

File_exists не видит файл
<?php class Route { function __construct() { } public static function Start() { ...

File_exists Не видит файл в каталоге home
Не видит файл в каталоге home. if(file_exists('/home/file.php')) require_once('/home/file.php'); else echo '/* test */'; Выводит...

Ошибка в пути к файлу БД
База данных аксесса лежит в одной папке с самой программой, но при перемещение этой папки в другое место пишет, что путь к безе данных...

5
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
05.05.2015, 20:16
Лучший ответ Сообщение было отмечено and_y87 как решение

Решение

Цитата Сообщение от and_y87 Посмотреть сообщение
PHP
1
$place = self::place(); // получение $_SERVER[ 'REQUEST_URI' ] убирая GET параметры и расширение файла.
Посмотреть бы. Скорее всего отсюда берется этот \0. Потому что левый символ кроется в index, а он получается из place...

Добавлено через 4 минуты
Цитата Сообщение от and_y87 Посмотреть сообщение
и почему ваще перестало file_exist() срабатывать?
Цитата Сообщение от and_y87 Посмотреть сообщение
делаю var_dump и получаю : string(61) "/home/users2/k/kkk/domains/my.domen.ru/file/idnex.php"
Не совсем понял заметили Вы или нет, но там idnex вместо index. Получается это скорее из-за какого то левого символа, который не является буквой, цифрой, знаком препинания...
0
Заблокирован
05.05.2015, 20:20
Цитата Сообщение от and_y87 Посмотреть сообщение
$this -> dom = [ 'root' => dirname( __FILE__ ) . DS , 'file' = 'file'. DS ];
ошибка синтаксиса. Используйте ide а не блокнот. Тогда станет ясно что не 'file' = 'file'. DS , а 'file' => 'file'. DS
0
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98
05.05.2015, 20:33  [ТС]
pav1uxa, idnex - опечатка, когда писал пример.

root, я использую IDE(PhpStorm) 'file' = 'file' так же опечатка, когда писал пример.
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
05.05.2015, 23:23
and_y87,
вот веришь как то тяжело пишешь
если массив это [] значит нахрена DS
далее в Joomla хренова куча именованных констант с различными путями поищи в define или Google что тебе надо
0
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98
05.05.2015, 23:46  [ТС]
Сори парни, я заработался и не замечал ошибки, но в итоге смог найти эту - казявку...

проблемой было то, что я убирал первый слэш в пути через
присвоение первому элементу строки "пустоты", типо так:
PHP
1
2
$uri = $_SERVER['REQUEST_RIO'];
$uri[0] = '';
вопрос решён, заюзал:
PHP
1
$url = substr( $uri, 1);
Добавлено через 1 минуту
pav1uxa, ты был прав... ошибка была в:
PHP
1
$place = self::place();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.05.2015, 23:46
Помогаю со студенческими работами здесь

Ошибка в пути к файлу
Блин второй день сижу и не могу никак понять почему пишет вот эту ошибку: Warning: include() : Failed opening...

Ошибка из-за длины пути к файлу
public void button2_Click(object sender, EventArgs e) { SaveFileDialog dialog = new SaveFileDialog(); ...

Ошибка доступа к пути/файлу
Программа открывает doc файл, меняет там текст в закладках, на тот, который укажу в TextBox и сохраняет его в другой файл в указанный в...

Как из пути к файлу, оставить только сам файл
Функция вставляет полный путь к файлу, к примеру: C:\Foto\1.png. А мне нужно выдернуть отсюда только имя: 1.png:scratch: С помощью какой...

Скрипт копирования пути к файлу\папке и вставка пути в письмо Outlook
Всем доброго времени суток! Помогите, пож-та, разобраться\дописать скрипт. Есть скрипт на открытие\создание нового сообщения в Outlook....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru