- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем привет.
У меня вот такая беда, парсер вытаскивает результаты матчей со спортивного сайта. Всё работает вроде бы нормально, результат записывается в файл, но файл больше 100кб не создается.
В php.ini
post_max_size = 30M
upload_max_filesize = 30M
nginx.conf
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_buffer_size 4k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
то-есть вроде-бы всё ок.
вот сама функция
Ребята может кто подскажет, что за байда, как разрешить создание файлов более 100кб. я уже всю голову себе сломал блин.
здесь ничего не сказано о том, каким образом вы сохраняете файл.
ТС, и для чего вы выложили кусок файла с функциями инициализации curl? Конкретно к вашему вопросу это никакого отношения не имеет.
Для начала:
1) Включите error_log в PHP
2) Найдите функцию отвечающую за сохранение файла и дебажьте ее. Если нет возожности это делать нормальным дебаггером, то хотя бы смотрите что там творится путем вывода диагностических сообщений с содержимым переменных.
Еще может не в переменную писать, а сразу в файл.
вот класс, создание кеш
function get_web_page( $url, $bot )
{
$uagent = array(
"Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)",
"Mozilla/5.0 (compatible; Mail.RU/2.0)",
"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
"Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)",
"Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)",
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0"
);
$ch = curl_init( $url );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_USERAGENT, $uagent***91;$bot***93;);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_MAXREDIRS, 50);
$content = curl_exec( $ch );
file_put_contents("mycontent.txt", $content, FILE_APPEND | LOCK_EX);
curl_close( $ch );
return $content;
}
Вы не написали, как вы используете функцию get_web_page и какой функцией идет запись.
задавал вопрос.
вот весь код
ссылка, что пытаюсь распарсить http://newsrbk.ru/sport/45.html
а сам класс я добавил чуть выше
Если попробовать
тут я не совсем понял, что выполняется в цикле, какова цель передачи в цикле в $name.
{
$name = $content***91;1***93;***91;$i***93;;
}
$searchsports_2 .= '<table align="center" width="100%">'.$name.'';
рекомендация такая. выводить var_dump по всему ходу выполнений. так поймете где именно у вас урезает? или не все пишет в файл.
или пишите переменные через
это @ini_set( 'memory_limit', '256M' ); не помогает, уже пробовал.
а что здесь не понятно?
$searchsports_2 = данные записываемые в файл, у меня там кеширование, создаётся файл и потом читаем из него
вот $newsrbk_api->save_to_cache ( "searchsports_2", $searchsports_2); данные переменной $searchsports_2 записываем в файл searchsports_2.tmp
$name тогда зачем в цикле вызывается,
такое чувство что со скобками } еще мудрежка,
$searchsports_2 .=
хотя он по коду исполняется 1 раз.
может все же так
{
$name = $content***91;1***93;***91;$i***93;;
$searchsports_2 .= '<table align="center" width="100%">'.$name.'';
}
SocFishing не, таже байда, та сам парсер парсит нормально вот можно посмотреть его работу http://newsrbk.ru/sport/ в левом сайтбаре выберите раздел хоккей http://newsrbk.ru/allsports/2/ всё ок, потом раздел футбол http://newsrbk.ru/allsports/1/ в нём больше входных данных и файл кеша вообще не создаётся.
просто напросто файл до 100кб создаётся нормально, а вот больше чем 100кб не создаётся, я сам не могу понять что е так