С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 20/10/05 в 20:21 |
Последний раз редактировалось: ibiz (24/11/15 в 19:38), всего редактировалось 1 раз
|
|
|
|
С нами с 25.12.03
Сообщения: 1003
Рейтинг: 462
|
Добавлено: 20/10/05 в 21:58 |
работает - не трогай
|
|
|
|
С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096
|
Добавлено: 20/10/05 в 21:59 |
file() - это функция более высокого уровня, чем fopen() и функции библиотеки Curl. т.е. file() а также file_get_contents() я советовал бы использовать в случаях, где загрузка удаленного документа не критична и является второстепенной задачей, т.е. запросил побыстрому документ, и всё, произошла ошибка - пох, просто проверил на пустоту ответ и больше ничего не надо. используя fopen() - у тебя появляется контроль над процессом загрузки. т.е. можно реализовать многопоточную загрузку нескольких документов, гибко управлять обработкой ошибок, парсить заголовки ответа и т.д. Тоже самое с CURL, только там возможностей еще больше (но это не значит что разобраться и работать с ним сложнее). Так что прежде всего выбор зависит от задачи. А если у тебя все работало на file() - то имхо менять ничего не надо, смысл какой?
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 20/10/05 в 22:05 |
curl - фактически все возможности как у браузера . А file() тупо забрать файл.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
3
|
|
|
С нами с 26.10.02
Сообщения: 151
Рейтинг: 148
|
Добавлено: 20/10/05 в 22:06 |
наверное смысл в том, что на умаксовом фрихосте запретили в пхп функцию file... ибо слишком сильно сервак грузит... причем так сильно, что сервак выпадает в ступор...
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 21/10/05 в 00:26 |
Смысл в том, что функциональность у CURL больше, как уже сказал Stek фактически возможности браузера.
Но вот как обстоят дела с нагрузкой на хост при большом количестве вызовов функции?
Если функция file() так грузит хост, то чем ее заменить для работы с локальными файлами?
LeXik: нет, не умаксовский фрихост.
|
|
|
|
пенсионер
С нами с 07.11.02
Сообщения: 2612
Рейтинг: 1166
|
Добавлено: 21/10/05 в 00:30 |
LeXik писал: | наверное смысл в том, что на умаксовом фрихосте запретили в пхп функцию file... ибо слишком сильно сервак грузит... причем так сильно, что сервак выпадает в ступор... |
file в принципе сам по себе не может нагружать сервак.
скорее всего просто ктото тупо читает им файлы размером где нить под мегабайт, и в итоге память замусоривает.
а вообще топик стартер неправильно вопрос задал...
под разные цели - разные ответы.
|
|
|
|
продаю базы адалт кейвордов
С нами с 09.11.02
Сообщения: 9045
Рейтинг: 3772
|
Добавлено: 21/10/05 в 00:33 |
Функция file() очень тяжела для сервера...
и действительно его жестоко грузит. Я в этом лично убеждался...
А curl-ом пользоваться очень удобно...
|
|
сдам подпись, стучите в личку
|
2
|
|
|
С нами с 26.10.02
Сообщения: 151
Рейтинг: 148
|
Добавлено: 21/10/05 в 01:46 |
bog писал: | file в принципе сам по себе не может нагружать сервак.
скорее всего просто ктото тупо читает им файлы размером где нить под мегабайт, и в итоге память замусоривает.
а вообще топик стартер неправильно вопрос задал...
под разные цели - разные ответы. |
ну в принципе там народ так и делал ;) динам.дор который кейворды по 2 метра и больше жрал при каждом показе страницы... по крайней мере насколько я помню ;)
|
|
|
|
С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362
|
Добавлено: 21/10/05 в 02:27 |
begemot писал: | работает - не трогай |
2топикстратер
Если тебе не принципиальна эмуляция действий реального пользователя , то некаких особых измненией в скорости работы не будет , да и если уже на то пошло , то лучше fsockopen()
p.s.
грузят серваки только кривые руки те кто пишет...
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 21/10/05 в 09:54 |
Нада, нада типа куки отдавать сайту, как браузер)
Только я эту функцию плохо знаю, никада нетребовалась. А вот сохранять куки от сайта в файлы возможноли средствами рнр, curl?
Впринципе кука передаётся в хедере и оттуда их можно вытаскивать, но... ваши замечания.
|
|
|
|
пенсионер
С нами с 07.11.02
Сообщения: 2612
Рейтинг: 1166
|
Добавлено: 21/10/05 в 10:37 |
LeXik писал: | ну в принципе там народ так и делал ;) динам.дор который кейворды по 2 метра и больше жрал при каждом показе страницы... по крайней мере насколько я помню ;) |
ну тогда понятно ))
яб на месте админов память под РНР ограничил 350килобайтами...
все хреново написанные скрипты сразу перестали бы работать ))
топикстартер, раз РНР судя по всему ты не знаешь, то курл твой единственный шанс.
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 21/10/05 в 13:00 |
bog писал: | топикстартер, раз РНР судя по всему ты не знаешь, то курл твой единственный шанс. |
Я бы не сказал, что это единственный мой шанс =)))
Еще есть fsockopen, с помощью которой можно организовать и пост и гет и прочие методы, который в принципе может заменить curl.
Но у меня в другом трабла, как уже говорили file ТУПО забирает файл с удаленного сервера. Вот мне и надоело тупо забирать файлы с сервера)
Говорю сразу, связано с СЕ, но не с умаксом, ихний фрихост непробывал.
Хорошо, вот мини-пример, умного забора файла. Надо зайти на форум, зарегистрироваться (пускай без распознавания кода, над этим работаю), зайти в раздел файлов и забрать нужный файл. Вообщем то имитация человека с браузером. Намек думаю понятен.
Можно организовать с помощью curl или fsocka. Хотел услышать что выбирать для удобства работы, скорости, быстродействия.
Пример номер два. Надо забрать тхтшный файл без передачи всяких хедеров, проверок и т.п. Всетаки file наверное удобнее.
Пример три. Надо прочитать локальный тхтшный файл, например на строке 34598, опять же что лучше file или fopen использовать для быстродействия и меньшей нагрузки на сервер?
Оффтопик: bog: не то, что я рнр незнаю, просто наверное ламерок, так бы неспрашивал что и когда лучше использовать)
|
|
|
|
С нами с 09.09.05
Сообщения: 148
Рейтинг: 129
|
Добавлено: 21/10/05 в 13:56 |
ibiz писал: | ... Надо зайти на форум, зарегистрироваться (пускай без распознавания кода, над этим работаю), зайти в раздел файлов и забрать нужный файл. Вообщем то имитация человека с браузером. Намек думаю понятен.
Можно организовать с помощью curl или fsocka. Хотел услышать что выбирать для удобства работы, скорости, быстродействия. |
я бы юзал fsockopen. очень удобно. fgets и fputs...
ibiz писал: |
Пример номер два. Надо забрать тхтшный файл без передачи всяких хедеров, проверок и т.п. Всетаки file наверное удобнее. |
таки да
ibiz писал: |
Пример три. Надо прочитать локальный тхтшный файл, например на строке 34598, опять же что лучше file или fopen использовать для быстродействия и меньшей нагрузки на сервер? |
fopen - потому что file загрузит весь файл в память. по ходу 34598 строк это уже около 2-х метров...
а fopen - далее в цикле читаем fread-ом допустим, по 128 КБ, анализируем буфер, считаем строки, выводим, и т.д...
|
|
|
|
пенсионер
С нами с 07.11.02
Сообщения: 2612
Рейтинг: 1166
|
Добавлено: 21/10/05 в 18:45 |
1. фсокс если хочешь чтоб 100% работало. курл - если хочешь попроще.
2. фскокс - потому что контроль соединения и передачи есть.
3. фрид - потому что иначе памяти жрать дохера будет.
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 21/10/05 в 19:00 |
Спасибо всем, оценил чем смог. Услышал что хотел.
|
|
|
|