seosniks

seosniks
Рейтинг
389
Регистрация
13.08.2007
ca7cba
asdqwe:
Вы лучше своим скриптом сделайте sql-файл и потом mysql'ем его импортируйте,

Это как?

Файл сделать можно, но чем меньше движений тем будет лучше. да и файл не на столько велик аксимум 20 мб, а архив так вообще 3 мб.

у меня принцип такой.

1) скачивается файл архив.

2) распаковывается.

3) этот файл очищается и заливается в базу данных.

Все работает с помощью PHP.

У меня вот такой вопрос еще, нужно ли очищать буфер между циклами или нет?

'[umka:
;8716894']Доступ с вашего ip будет заблокирован теми системами, к которым он обращается.
(Если, конечно, проверки не делаются через кучу проксей)

+1. Вам нужно поставить капчу, и сделать вывод формы на один домен.

Иначе будут через ваш сайт проверять показатели.

А если установить set_time_limit(60); //60 сек

нарпимер на 10 минут или 30 минут.

set_time_limit(18000);// 30 мин

и крон запускать каждые 35 минут.

такой вариант возможен?

seosniks добавил 23.03.2011 в 15:02

Дикий пионер:
вопрос у вас, конечно, по другому сформулирован, но в линуксе есть вот такая команда: http://www.unix.com/man-page/linux/1/flock/ , еще в комментах тут:http://habrahabr.ru/blogs/linux/114622/
Ну и как самопальный вариант - в скрипте создавать в начале файлик, в конце стирать, а при запуске проверять его наличие.

Пробовал такой вариант

<?php 

$pid=getmypid();

$file = file("pid.txt");
if($pid != $file[0]) {
echo "Дергаем и записываем $pid";
echo "else PID".$pid."file".$file[0];
$fout2 = fopen("pid.txt",'w+');
fwrite($fout2,$pid);
fclose($fout2); }
else { echo "Процесс $pid еще работает";
exit();
}

?>

если файл просто выводит информацию, то все работает.

А вот парсер не хочет работать, хотя PID создается и пишется.

Все равно запускаются новые процессы.

пока вижу только такой вариант

set_time_limit(18000);// 10 мин 

далее попутно получать с помощью getmypid();

ID сохранять его в базу или файл, и по истечении времени

кроном

убивать процесс, не важно завершился он или нет, и дергать файл.

seosniks добавил 23.03.2011 в 15:05

'[umka:
;8706739']Попробуйте прописать полные пути к командам ps, grep и что там у вас ещё :)

не вышло, возможно проблема в срипте.

вот кусок старого кода.


<?
$filename = '/vb.kuzova.org/s.php';
exec("ps -auxww | grep $filename | grep -v grep",$output,$code);
if($code!=0 && $code!=1)
{
trigger_error("Unable to 'ps -auxww | grep $filename | grep -v grep'. Error code: $code<br>",E_USER_ERROR);
}
if(count($output)>1) {
echo 'Скрипт все еще работает - ';
echo date('h:i:s') . "\n";
print_r($output);
}
else {
echo 'Предыдушая копия отработала, запускаем новую - ';
echo date('h:i:s') . "\n";
print_r($output);
}

unset($output);


$filename = 'vb.kuzova.org/m.php';
exec("ps -auxww | grep $filename | grep -v grep",$output,$code);
if($code!=0 && $code!=1)
{
trigger_error("Unable to 'ps -auxww | grep $filename | grep -v grep'. Error code: $code<br>",E_USER_ERROR);
}
if(count($output)>1) {
echo 'Скрипт все еще работает - ';
echo date('h:i:s') . "\n";
print_r($output);
}
else {
echo 'Предыдушая копия отработала, запускаем новую - ';
echo date('h:i:s') . "\n";
print_r($output);
}

unset($output);?>

Раньше он работал, щас не хочет работать.

british-americanclinic.com 10 available

uniquetunes.net 10 available

husky-mails.com 10 available

thenubianisland.com 10 available

silicon-wireless.com 10 available

boxing2006plovdiv.com 10 available

gobanquet.com 10 available

Вот нашел. Проверять обязательно

Решил я сделать себе небольшой сервис.

Пользуйтесь

drop-service.net/drops/2011-03-21.html

пока все работает в тестовом режиме.

обновление 1 раз в 5 минут.

Сортировка и другие возможности есть, но пока не доступны.

В общем чтоб не рыться долго

я сделал свободные сверху.

blogolet:
20Мб... если сранный wordpress жрет от 32Мб на страницу, да и вообще то в шеле есть команда wget, и чтобы вообще не ело памяти то while eof fget - не рассматривался. Право дело, вначале не хтел отвечать - неужели вам трудно почитать учебник по php?

Gричем тут шелл? Мне надо с помощью PHP

залить файл в базу, вот как залить правильно, потому как файл содержит 50 000 строк.

каждую строку заливать insert это будет нагрузка.

insert into table_name (id, val) values(1,1);

insert into table_name (id, val) values(1,2);
insert into table_name (id, val) values(1,3);

Но можно выполнить один запрос:

i

nsert into table_name (id, val) values(1,1),(1,2),(1,3),…(1,n)
и так далее, но я почему то не смог так сделать. Выдает ошибку.

Я в sql не очень разбираюсь

$r=fopen("Ссылка на другой сайт  где берем файл",'r'); 

while($str=fgets($r,1024))
{
$sql= "INSERT INTO `d` VALUES ('', '$str', '', '', '', '', '', '')";
mysql_query($sql) or die(mysql_error());

}
fclose($r);

как сделать более правильно, чтоб массово загнать все строки

Вариант 10 скачать файл на свой хостинг, и затем залить в базу, либо сразу заливать.

Нагрузка именно из за INSERT

В общем востановил все заново.

Щас вот хочу понять как можно скачать файл до 20 мегабайт

с другого сайта себе в базу,

Скачать не проблема, проблема втом что идет нагрузка при скачивании.

Самый простой способ скачать

$r=fopen("$link",'r');

while($str=fgets($r,5024))

{

}

Но нагрузка большая выходит.

Подскажите пожалуйста можно ли скачать файл частями.

например по 1000 строк за раз.

'[umka:
;8689327']А если это первое число? :)

если первое то должен быть 01.

Ещё есть полезная функция strtotime:
$den=date("d",strtotime("-10 days"));

Вот спасибо, это как раз то что

доктор прописал. А то я как то не сталкивался, а тут

решил отнять 10 дней так он мне отдает 9 без ноля. 🤪

Скоро сделаю Сервис доменов.

optici.net Домен optici.net ок тиц 10 taken

parkinnsharm.com parkinnsharm.com ок тиц 10 available

singulaircoupon.com клеен к singulair.com тиц 10 available

Nefcore:
выше все исправил и написал.

А скажите пожалуйста, из чего складывается такая цена?

Из того что вы хотите столько денег, или цена обоснована?

Просто не могу понять, за что платить, доход есть у сайта?

X-Y-X:
seosniks, огромное спасибо! думаю то что нужно

X-Y-X добавил 17.03.2011 в 20:04
Да, все получилось!) Спасибо еще раз

Ну чтож. Очень рад что помог.

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

Всего: 4088