Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83

Ошибка, связанная с открытием файла из другой директории

08.08.2015, 22:56. Показов 2381. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть корневой каталог, в котором находится php файл.
Так же в этом каталоге есть папка files и папка категории сайта cat.
Так вот, этот php файл загружается вместе с обычными html страницами(он инклюдится в коде страницы).
PHP
1
<?php include("../posts.php");?>
Этот php файл работает с файлами из папки files, но, когда файл отрабатывает из главного каталога возникают ошибки:
Warning: fopen(../files/posts.txt) [function.fopen]: failed to open stream: No such file or directory in Z:\home\doorway.org\posts.php on line 13

Warning: fgets(): supplied argument is not a valid stream resource in Z:\home\doorway.org\posts.php on line 28

Warning: fclose(): supplied argument is not a valid stream resource in Z:\home\doorway.org\posts.php on lin
Вопрос : как мне обратиться к этим файлам?
Пробовал сделать так:
PHP
1
$f = fopen("../files/time_tmp.txt","r");
Этот вариант работает, если php файл отрабатывает в папке cat.
Но не работает, когда файл отрабатывает в html файле, находящегося в главном каталоге.
Подскажите, как мне поступить.
Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.08.2015, 22:56
Ответы с готовыми решениями:

Ошибка связанная с открытием файла
Здравствуйте. Есть файл, со следующим содержимым: В цикле я построчно читаю из файла. На основании считанной строки я открываю...

Скачивание файла из другой директории!
Здравствуйте. В общем, у меня есть скрипт чтения файлов и вывода в список, также их можно скачать. А как мне сделать так, чтобы файлы,...

Ошибка с открытием и созданием файла
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; using namespace std; const...

5
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
09.08.2015, 07:12
для доступа к файлам не стоит писать относительные пути т.к. текущая директория может не совпадать с директорией выполняющегося скрипта. писать нужно абсолютные пути отталкиваясь от константы __DIR__. например как-то так
PHP
1
$f = fopen(__DIR__."/../files/time_tmp.txt","r");
1
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
09.08.2015, 07:13
HelloWold, пишите просто путь от корня.
PHP
1
require('/files/file.php');
0
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83
09.08.2015, 11:56  [ТС]
ads,
Warning: fopen(__DIR__/../files/posts.txt) [function.fopen]: failed to open stream: No such file or directory in Z:\home\doorway.org\www\posts.php on line 13

Warning: fgets(): supplied argument is not a valid stream resource in Z:\home\doorway.org\www\posts.php on line 28

Warning: fclose(): supplied argument is not a valid stream resource in Z:\home\doorway.org\www\posts.php on line 67
НО!
Если файл posts.php лежит в папке домена : site.ru, то работает только в тех html файлах, которые лежат именно в www, а не в под папках www, то есть в под папке cat не работает .
Но в моем случае файл лежит в папке site.ru/www/
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
09.08.2015, 17:14
Цитата Сообщение от Jodah Посмотреть сообщение
пишите просто путь от корня.
очень удобно особенно при переносе на хостинг
Цитата Сообщение от HelloWold Посмотреть сообщение
Warning: fopen(__DIR__/../files/posts.txt)
я же вам просто пример привел. я не могу знать как у вас организована структура папок... из варнингов можно предположить что из файла posts.php доступ какой-то такой __DIR__.'/cat/posts.txt
0
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83
23.08.2015, 21:40  [ТС]
Решил проблему по-другому:
PHP
1
2
$path = $_SERVER['DOCUMENT_ROOT'];
$f = fopen($path.'/files/posts.txt','r');
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.08.2015, 21:40
Помогаю со студенческими работами здесь

Ошибка с открытием файла в своей программе
Всем Dolche Gracias! Я столкнулся вот стакой проблемой - пытаюсь открыть файл в своей программе да пишет что неправильный синтаксис...

AxWindowsMediaPlayer. Ошибка с открытием файла при перемещении программы в другое место
AxWindowsMediaPlayer1.URL = &quot;2.mp4&quot; AxWindowsMediaPlayer1.URL =CurDir() &amp; &quot;\2.mp4&quot; AxWindowsMediaPlayer1.URL...

При множественном открытии файла в цикле (>100) выскакивает ошибка, связанная с потоками
При множественном открытии файла в цикле (&gt;100) выскакивает ошибка, связанная с потоками. Так вот, мне нужно как то почистить файл, не...

Как указать Апачу, что вместо одной локальной директории надо обращаться к другой локальной директории?
Сиутация следующая. На Windows-компьютере запущен Апач. И он настроен на директорию c:\www Возможно ли сделать так, чтобы вместо...

Fpdf форма с отправкой pdf файла письмом и открытием файла
Помогите, пожалуйста. Уже неделю мучаюсь. Есть форма, которую заполняет пользователь. Данные загружаются в pdf и отправляются мне на почту....


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

Или воспользуйтесь поиском по форуму:
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