Открыть для чтения локальный файл

lukyanov

Новичок
Открыть для чтения локальный файл

Скрипт, запущенный на сервере, должен открывать локальный файл для чтения, и что-то из него читать.

я пишу так:
fopen("file://c:/temp.txt","rb")
ответ сервера: failed to open stream: No such file or directory

при запуске в денвере код
fopen("c:\\temp.txt","rb")
ошибок не дает

Пожалуйста, напишите кус кода, который будет открывать файл c:\temp.txt. Больше всего меня интересует, как выглядит правильный путь к этому файлу

Спасибо
 

crocodile2u

http://vbolshov.org.ru
ыыы...

Как сказал бы Фанат - кандидат на лучший пост месяца!

Срочно - читать FAQ!!!

От начала и до конца!!!
 

lukyanov

Новичок
большое спасибо. К сожалению, на мой вопрос никто не ответил. Вероятно, отвечавшие дочитали только до строки
fopen("file://c:/temp.txt","rb")

Я попробую переформулировать.
1.
почему при работе в Денвере функция
fopen("c:\\dir\\subdir\\file.txt", "rb")
отрабатывает без ошибок, а тот же самый скрипт, запущеный, на удаленном сервере, выдает ошибку failed to open stream: No such file or directory ?
2.
Какие функции нужны для того, чтобы открыть-таки для чтения локальный файл, и, главное
3.
Какой при этом указывается путь к файлу.

для тех, кто читает до первого слеша: пожалуйста, отвечайте на поставленные вопросы. Ссылка на faq - самый распространенный ответ в форуме

-~{}~ 22.12.04 16:07:

upd. Согласен, что код

fopen("file://c:/temp.txt","rb")

действительно идиотский. Это я пытался экспериментировать, когда не получилось как в faq.
 

SiMM

Новичок
1. А почему ты решил, что на удалённом хостинге есть такой файл/директория? Почему ты решил, что файловая структура на хостинге полностью повторяет твою, на localhost'е?
2. Что значит в твоём понимании локальный файл? Файл, находящийся на сервере? fopen & etc
3. Абсолютный.
Ссылка на faq - самый распространенный ответ в форуме
Однако это не значит, что с ней не надо ознакамливаться. PHP FAQ: Пути в файловой системе и на сайте.
 

crocodile2u

http://vbolshov.org.ru
>>> почему при работе в Денвере функция
fopen("c:\\dir\\subdir\\file.txt","rb")
>>> отрабатывает без ошибок, а тот же самый скрипт, запущеный, на удаленном
>>> сервере, выдает ошибку failed to open stream: No such file or directory ?

Подсказка: когда ты работаешь со своим Apach'ем, машина сервера и твой комп физически являются одним и тем же компьютером. А на "удаленном сервере"? В общем - послушай SiMMа.
 

lukyanov

Новичок
локальный файл - файл, лежащий у меня на диске. На моем компьютере. А скрипт запущен на сервере. Не на моем компьютере.

в faq:
примеры абсолютных путей:
/var/www/site/forum/index.php
/img/frame.gif
с:\windows\command.com

у меня:
c:\\dir\\subdir\\file.txt

echo 'c:\\dir\\subdir\\file.txt'; выдаст c:\dir\subdir\file.txt

Значит, я прописываю абсолютный путь.
 

Erise

Guest
lukyanov
Т.е. ты хочешь, чтобы скрипт на удалённом компе открыл для чтения файл с твоего компа? :)
 

SiMM

Новичок
lukyanov, один маааааленький вопрос. У тебя хостинг на Win? ;)
PS: в конце FAQ написано про $_SERVER['DOCUMENT_ROOT'], который может помочь тем, что не надо будет думать о том, где находятся скрипты (на хостинге или дома). Однако лично я предпочитаю пользоваться чем-то типа [m]dirname[/m](__FILE__)
 

crocodile2u

http://vbolshov.org.ru
SiMM: он же пишет -
"локальный файл - файл, лежащий у меня на диске. На моем компьютере. А скрипт запущен на сервере. Не на моем компьютере."

Он не понимает, где сервер, где работает PHP, а где находится его компьютер. Его диагноз - глубокое непонимание того, что он пытается сделать. Даже и не знаю, что делать, если уж и чтение ФАКа не помогло...
 
Сверху