Автор Тема: failed to open stream in fopen  (Прочетена 697 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
failed to open stream in fopen
« -: 04 Май 2014, 16:10:02 »
Някой да има идея, що fopen  failed-ва с ftp wrapper-a?

Код: PHP
  1. <?php
  2.  
  3. $file = fopen("ftp://jazz:jazz@10.10.1.100/../../cookies.txt",'r');
  4.  

Result:

Цитат
Warning: fopen(ftp://...@10.10.1.100/../../cookies.txt): failed to open stream: operation failed in /var/www/html/pdo/ftp.php on line 3

Според майката (php.net) би трябвало да работи. FTP сървъра е вдигнат, пермишана е точен, с ftp библиотеката на php работи както трябва.

Идеи?
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2595
  • meow
Re: failed to open stream in fopen
« Отговор #1 -: 04 Май 2014, 16:26:05 »
Това е грешката за не намерен ресурс - явно пътя до cookies.txt не е точен. Пробвай да тестваш адреса директно в браузъра и виж дали го отваря там.
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
Re: failed to open stream in fopen
« Отговор #2 -: 04 Май 2014, 16:29:11 »
Пътя е точен и в браузъра работи :)

Слято мнение: 04 Май 2014, 17:35:21
В error log-a на ftp server-a намерих още нещо:

Цитат
Warning: fopen(ftp://...@10.10.1.100/../../cookies.txt): failed to open stream: FTP server reports 550 Could not get file size. in /var/www/html/.......

Пак повтарям, пътя до файла и сървъра е точен, файла го достъпвам през конзолният ftp client от клиентските ми машини или ползвайки ftp библиотеката на php, въпроса е защо не се получава с fopen.
« Последна редакция: 04 Май 2014, 17:35:21 от jazzman »
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2595
  • meow
Re: failed to open stream in fopen
« Отговор #3 -: 04 Май 2014, 18:54:05 »
Намерих абсолютно същия проблем решен в StackOverflow, удари му едно око http://stackoverflow.com/questions/21042815/failed-to-open-stream-ftp-server-reports-550-when-accessing-file-on-microsoft
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
Re: failed to open stream in fopen
« Отговор #4 -: 04 Май 2014, 23:00:46 »
Бях навън, че за първи път от 5-6 месеца виждам слънце в Канада :)
Ава...тва го разгледах днес преди да постнеш линка, решение не видях, само предположения и догатки и то към micro$oft ftp server. А ти както знаеш аз съм върл фен на линъкс машини. Сървъра ми е сетнат в active mode, тъй че и тва не е проблем, просто нямам идея къде вече да погледна, не че е биг-дийл просто ми стана интересно що не бачка. Ако някой има сетнат ftp server, може да пробва да видим какъв резултат ще изведе парсъра при него :)
« Последна редакция: 04 Май 2014, 23:02:27 от jazzman »
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2595
  • meow
Re: failed to open stream in fopen
« Отговор #5 -: 05 Май 2014, 00:05:57 »
Може да пробваш с ftp библиотеката на PHP...
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
Re: failed to open stream in fopen
« Отговор #6 -: 05 Май 2014, 00:09:55 »
Ти не четеш ли кво съм написал по-горе :) С ftp библиотеката на php нямам никакъв проблем.
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 120
  • -Получени: 73
  • Публикации: 995
  • Кибик
Re: failed to open stream in fopen
« Отговор #7 -: 05 Май 2014, 00:51:46 »
Тук става интересно.
Ето кодовете наборе, тук са по-подредени. http://en.wikipedia.org/wiki/List_of_FTP_server_return_codes

Според мен всичко е заради защитата, нещо не пуска PHP до сървъра.
За тест що не пробваш например нещо като curl за ftp и да видим дали ще пусне.
Браузера те пуска, а Filezilla-та пуска ли?

Дано си ме разбрал, че съм доста изморен.
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
Re: failed to open stream in fopen
« Отговор #8 -: 05 Май 2014, 01:05:23 »
Aз нямам Filezilla, но жена ми я ползва за да тегли дейта от ftp server-a. Проблема не е там, стената е конфигурирана да слуша за заявки към ftp сървъра, с конзолните ftp command-и от двата ми лаптопа, както и през firefox, както и през ftp библиотеката на php, проблеми НЯМА и всичките файлове са в рийдъбъл мод и се достъпват нормално. Не съм пробвал само cURL със заявка ползваща ftp protocol-a. Теста го направих и към сървъра ми към GoDaddy и HostMonster, резултата е един и същ, с fopen фейлдва със стринг написан по този начин като по-горе в 1-ят ми пост.     
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

!ntel

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 2
  • -Получени: 4
  • Публикации: 55
Re: failed to open stream in fopen
« Отговор #9 -: 05 Май 2014, 01:08:42 »
Ползваш относителен път, а грешката показва, че или нямаш права за достъп до този път или файла го няма. Очевидно файла е там, т.е. остава проблем с правата за достъпа.
Просто няма какво друго да е.

Пробвай следното нещо - качи през FTP клиент, същия файл и сравни правата на двата файла (също така опитай да го достъпиш и него). Ако са еднакви - тогава остава бъг в ftp сървър-а или fopen имплементацията.

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
Re: failed to open stream in fopen
« Отговор #10 -: 05 Май 2014, 01:18:13 »
Мислиш, че е пътя ли? Root (home) directory-та на ftp сървъра съм я задал в конф файла на апликейшъна. Когато се логна към него дифoултната директория се индексира като /mnt/DATA/jazz/movies, с всеки ftp client при логване аз отивам там, обаче тва чудо не е ftp клиент може би от там идва и проблема, сървъра чете само стринга без да го парсва отдалечено, макар че що става през браузъра? Добре ще пробвам модела с абсолютен път

Слято мнение: 05 Май 2014, 01:29:28
хм.....пътя е бил или по точно не пътя ами както казах по горе не се парсва протокола от сървъра и home directory-ta не се чете правилно от сървъра...
Така бачка:

Код: PHP
  1. $file = fopen("ftp://jazz:jazz@10.10.1.100/mnt/DATA/cookies.txt","r");
  2.  

Мерси not intele, идеята за пътя ме подсети да обърна логиката си.
Благодаря и на всички останали, разбира се :)
« Последна редакция: 05 Май 2014, 01:39:47 от jazzman »
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html