Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Пример с другого сайта который у меня не идет

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: На сайте htlm.net был пример, я его загрузил на сервер, а он не работает
Илья01
Отправлено: 23 Августа, 2011 - 17:38:31
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <html>
  2.    <head>
  3.    <title>Чтение из текстовых файлов</title>
  4.  
  5.    </head>
  6.    <body>
  7.  
  8.    <?PHP
  9.    $f = fopen("http://ru.html.net/tutorials/php/unitednations.txt", "r");
  10.  
  11.    // Читать построчно до конца файла
  12.    while (!feof($f)) {
  13.  
  14.    // Создать массив с запятой-разделителем
  15.       $arrM = explode(",",fgets($f));
  16.  
  17.    // Записать ссылки (получить данные из массива)
  18.       echo "<li><a href='http://' . $arrM[1] . "'>" . $arrM[0]. "</a></li>";
  19.  
  20.   }
  21.  
  22.   fclose($f);
  23.   ?>
  24.  
  25.    </body>
  26.    </html>


Этот пример не работает на моем сервере : vsevolod-s10.h19.ru/test.php Скажите пожалуйста, это пример левый или я что то не так делаю? Если дело в примере, скажите пожалуйста как его изменить чтобы работал? Заранее спасибо.
 
 Top
illy
Отправлено: 23 Августа, 2011 - 18:30:24
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




Кавычку пропустил
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <title>Чтение из текстовых файлов</title>
  4. </head>
  5. <body>
  6. <?PHP
  7. $f = fopen("http://ru.html.net/tutorials/php/unitednations.txt", "r");
  8. // Читать построчно до конца файла
  9. while (!feof($f)) {
  10. // Создать массив с запятой-разделителем
  11. $arrM = explode(",",fgets($f));
  12. // Записать ссылки (получить данные из массива)
  13. echo "<li><a href='http://$arrM[1]'>$arrM[0]</a></li>";
  14. }
  15. fclose($f);
  16. ?>
  17. </body>
  18. </html>


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Илья01
Отправлено: 23 Августа, 2011 - 18:49:34
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Спасибо за ответ, но я эту ошибку уже сам нашел. Похоже пример имеет несколько ошибок, потому что исправив эту появилась новая. Изменения на Vsevolod-s10.h19.ru/test.php я внес. Помогите пожалуйста разобраться с новой напастью.
 
 Top
DeepVarvar Супермодератор
Отправлено: 23 Августа, 2011 - 18:57:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Эти ф-ции предназначены для работы с локальной файловой системой (в основном).
Выкиньте этот пример - в нем используют то что не надо...

PHP:
скопировать код в буфер обмена
  1. $s = file_get_contents("http://ru.html.net/tutorials/php/unitednations.txt");
  2. $s = str_replace("\r","",$s);
  3. $s = explode("\n",$s);
  4. echo "<ul>";
  5. foreach ($s as $v) {
  6.   $link = explode(",",$v);
  7.   echo '<li><a href="http://'.$link[1].'">'.$link[0].'</a></li>';
  8.   }
  9. echo "</ul>";
 
 Top
Илья01
Отправлено: 23 Августа, 2011 - 19:26:23
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Странно, на этом сайте тоже есть примеры: http://php.net/manual/ru/function.fopen.php где эти функции используются НЕ для локальной файловой системы.

(Отредактировано автором: 23 Августа, 2011 - 19:27:38)

 
 Top
DeepVarvar Супермодератор
Отправлено: 23 Августа, 2011 - 19:28:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




DeepVarvar пишет:
(в основном)
 
 Top
Илья01
Отправлено: 23 Августа, 2011 - 19:35:31
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Возможно я туплю, но я вас не очень понял, если эти функции в основном заточены под локальную файловую систему то они с файлами из сети тоже могут работать? Просто на странице где я нашел этот пример: http://ru[dot]html[dot]net/tutorials/php/lesson15.php есть еще и "Отображение примера" и оно работает Не понял
 
 Top
DeepVarvar Супермодератор
Отправлено: 23 Августа, 2011 - 19:39:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Илья01 пишет:
и оно работает

Дело в том, что по сети нельзя запрашивать так играючи данные кусками из любого места.
Все данные передаются пакетами. Я в своем примере предложил прочитать сразу весь контент и разобрать его на месте - и это эффективнее чем ёрзать за каждой строкой по сети.
 
 Top
Мелкий Супермодератор
Отправлено: 23 Августа, 2011 - 19:47:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




DeepVarvar пишет:
и это эффективнее чем ёрзать за каждой строкой по сети.

Данные буферизуются. Так же как и на файловых операциях - мы можем читать по байту, но накопитель прочитает минимум 512 байт (1 сектор). Современные - и вовсе 4096 байт (1 физический сектор, 4 логических).


-----
PostgreSQL DBA
 
 Top
Илья01
Отправлено: 23 Августа, 2011 - 19:54:10
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Мелкий пишет:
Дело в том, что по сети нельзя запрашивать так играючи данные кусками из любого места.

Я так и не понял, если запрашивать данные кусками они будут медленней читаться, вообще не прочитаются, а вылетит ошибка как у меня или с одного сервера прочитаются, а с другого нет, но это уже совсем не важно. Я только позавчера начал изучать html и не очень хорошо разбираюсь, я так и не понял что в моем коде заменить вашем. Можно чуточку по подробней пример
 
 Top
Мелкий Супермодератор
Отправлено: 23 Августа, 2011 - 20:11:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Илья01 пишет:
Я только позавчера начал изучать html

Так кто мешает? А PHP тут при чём?

Илья01 пишет:
я так и не понял что в моем коде заменить вашем.

Кроме синтаксической ошибки в 18 строке? Ничего. Он работает.
А вот на вашем сервере не прописан DNS-резолвер. И скрипт, закономерно, не может найти IP (hostname nor servname provided, or not known), по которому ему обращаться.

В общем - поставьте на локальную машину веб-сервер, к которому у вас будет полный контроль.


-----
PostgreSQL DBA
 
 Top
DeepVarvar Супермодератор
Отправлено: 23 Августа, 2011 - 20:56:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Мелкий пишет:
Данные буферизуются.......
Я пытаюсь объяснить проще, опуская детали. Да и всеравно эффективнее прочитать все сразу и разбирать на месте. Для этого примера уж точно.
 
 Top
Илья01
Отправлено: 23 Августа, 2011 - 21:45:16
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




DeepVarvar пишет:
Так кто мешает? А PHP тут при чём?

Под html я имел все вместе, и html и css и php
(Добавление)
Мелкий пишет:
В общем - поставьте на локальную машину веб-сервер, к которому у вас будет полный контроль.

Я бы не хотел этого делать т. к. хочу сделать сайт чтоб он был выложен уже в интернете. Может есть способ доступа к файлом с этого сервера как нибудь по другому? Например как предложил DeepVarvar?
 
 Top
Мелкий Супермодератор
Отправлено: 23 Августа, 2011 - 22:07:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Илья01 пишет:
Может есть способ доступа к файлом с этого сервера как нибудь по другому?

Аж целых 2:
0) сменить хостера
1) ручками делайте HTTP-запрос, соединяясь на заранее узнанный IP и передавайте host. В помощь RFC 1945, RFC 2616 (стандарты HTTP)

Илья01 пишет:
хочу сделать сайт чтоб он был выложен уже в интернете.

Какой сайт на первой недели знакомства даже с HTML? О чём это вы?


-----
PostgreSQL DBA
 
 Top
Илья01
Отправлено: 24 Августа, 2011 - 01:35:55
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Мелкий пишет:
Какой сайт на первой недели знакомства даже с HTML? О чём это вы?

Один мой приятель своему знакомому сказал что я не плохо разбираюсь в программировании что в общем то правда, но я неплохо с purebasic-ом, да с pascal-ом, а вот с программированием сайтов познакомился позавчера. Вот знакомый моего приятеля и заказал мне навороченный сайтик для его маленького бизнеса. И закончить мне его надо до этого воскресения.
Мелкий пишет:
сменить хостера

Это мне ближе, сейчас попробую еще погуглить какой нибудь бесплатный и с поддержкой DNS-резолвера.
(Добавление)
2 с половиной часа роюсь и мало что нашел, можно чуть по подробнее насчет:
Мелкий пишет:
ручками делайте HTTP-запрос, соединяясь на заранее узнанный IP и передавайте host. В помощь RFC 1945, RFC 2616 (стандарты HTTP)

(Отредактировано автором: 24 Августа, 2011 - 01:37:01)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB