|
|
|
| Я коннекчусь, делаю file_get_contents("dir/subdir/file.php");
но в ответ - failed to open stream: No such file or directory , хотя он еще как such там... Я его сам загрузил. | |
|
|
|
|
|
|
|
для: Shorr Kan
(07.10.2005 в 11:45)
| | Я так понял скрипт работает у тебя на компе, а конектишся ты на удаленый сервак?
Тут должны стоять разрешения на использование таких функций с удаленных серверов, посмотри настройку апача на удаленном сервере, включена ли опция, я не помню как она называется, но в справке по PHP ее легко найдешь.
Да и сомнения на счет FTP у меня возникают, может данная функция вообще не сможет по FTP такое сделать, а может я и ошибаюсь. | |
|
|
|
|
|
|
|
для: XPraptor
(07.10.2005 в 12:05)
| | '--enable-ftp'
Есть такое... так что разрешено.
Данная функция не может по фтп читать? Ну а как тогда по фтп можно прочитать исходник? Не качать же файл... | |
|
|
|
|
|
|
|
для: Shorr Kan
(07.10.2005 в 12:16)
| | Может и качать, надо глянуть в мануале что там про эту функцию написано, и что пр фтп есть.
Щас займусь. | |
|
|
|
|
|
|
|
для: Shorr Kan
(07.10.2005 в 12:16)
| | Да можно по фтп работать данными функциями (fopen, file_get_content).Опция allow_url_fopen должно стоять в True в апаче.
В 4.0.3 и более ранних версиях пхп при сборке необходимо использовать опцию --enable-url-fopen-wrapper для активации возможности работать с удаленными файлами.
Так вот в примере:
fopen("ftp://user:password@example.com/somefile.php", "r")
Пишут что нельзя по фтп писать существующие файлы, но открывать можно. | |
|
|
|
|
|
|
|
для: Shorr Kan
(07.10.2005 в 11:45)
| |
<?php
$host = "ftp.host.ru";
$ip = @gethostbyname($host);
if($ip == $host) exit("Сервер <b>$host</b> НЕ найден.");
else
{ echo"Соединение с <b>$host</b> ($ip)..."; flush();
$ftp = @ftp_connect($ip);
if (!$ftp) exit(" Ошибка соединения!");
else echo" Соединение установлено.<br>";
echo"Авторизация <b>$host</b>..."; flush();
$user = "user";
$pass = "password";
if(!@ftp_login($ftp,$user,$pass)) { echo" Авторизация не удалась<br>";
echo"Выход <b>$host</b>..."; flush();
@ftp_quit($ftp);
exit(" Соединение закрыто."); flush();
}
else echo" ОK!<br>"; flush();
echo"Переход в <b>folder/where/file/exists</b>..."; flush();
if(@ftp_chdir($ftp,"folder/where/file/exists"))
echo" OK<br>";
else exit("<b>ОШИБКА!!!</b><br>");
flush();
if(@ftp_get($ftp,"file.tmp","file.php",FTP_BINARY) ||
@ftp_get($ftp,"file.tmp","file.php",FTP_ASCII))
{ $fd = fopen("file.tmp","r");
$source = fread($fd,filesize("file.tmp"));
fclose($fd);
unlink("file.tmp");
// содержимое "file.php" в переменной $source
}
ftp_quit($ftp);
}
?>
|
| |
|
|
|
|
|
|
|
для: Sfinks
(07.10.2005 в 12:33)
| | Тогда вопрос - при подобном хватании файла - с одного и того же сервера (то есть, и скрипт загружающий файл, и сам файл - лежат на одном сервере) - траффик (brandwitch) считается?
p.s. Неужели без загрузки нет варианта? | |
|
|
|
|
|
|
|
для: Shorr Kan
(07.10.2005 в 12:40)
| | АХЕЗ =)
Ток вопрос возникает, если файл на том же хосте, от зачем его читать по фтп? Открывай простым fopen(), только путь указывай относительный, тогда пхп-файл прочтется но не выполнится, т.е. ты и получишь его содержимое. | |
|
|
|
|
|
|
|
для: Sfinks
(07.10.2005 в 12:55)
| | Ну дело в том, что "сервер" и "домен" - вещи разные. Физически, hdd один, но пока что админ не смог настроить вселенские права для скриптов в конкретном каталоге - я стараюсь выкрутиться таким макаром... | |
|
|
|
|
|
|
|
для: Shorr Kan
(07.10.2005 в 13:05)
| | >Ну дело в том, что "сервер" и "домен" -
>вещи разные. Физически, hdd один.
Не понял.... У тебя у одного хостера 2 разных юзера? | |
|
|
|
|
|
|
|
для: Sfinks
(07.10.2005 в 13:26)
| | Ну почти так.... | |
|
|
|
|
|
|
|
для: Shorr Kan
(07.10.2005 в 13:40)
| | Так сохрани читающий файл там, где лежит читаемый.
А если тебе его потом нужно сохранить у второго юзера, то там где лежит читаемый файл залей скрипт, который его будет читать и выдавать через echo, а там где сохранить, залей скрипт, который будет по http обращаться к читающему и, соответственно, получать от него исходник читаемого файла...... Но это не меньше гемора, чем в первом приведенном мной варианте. | |
|
|
|
|
|
|
|
для: Shorr Kan
(07.10.2005 в 13:05)
| | Нет обходить это через FTP плохая идея... FTP - достаточно капризная штука и везде разная - лучше потратте эти усилия на тряску хостера. | |
|
|
|
|
|
|
|
для: cheops
(07.10.2005 в 14:46)
| | Это хорошая мысль. Он заслужил. | |
|
|
|