Cкрипт на php не возвращает ответ

123 4
savage
На сайте с 10.01.2007
Offline
224
#11

Примерно так:

                 $fname1="logfile.log";

$flog=fopen($fname1,"a+") or die("Не могу открыть страницу");
$remainsfile=$_FILES['f_remains']['tmp_name'];
$fp2=fopen($remainsfile,"rt") or die("Не могу открыть страницу");
$temp=fread($fp2, filesize($remainsfile));
fclose($fp2);
$str=split("\n",$temp);
$count=0; $i=0; $j=0; $sum=0; $nettovarov=""; $sql="";
$starttime=time();
for ($k=0; $k<count($str)-1; $k++)
{
if (!empty($str[$k]))
{
list($prod,$zakaz,$count)=split("#",$str[$k]);
$prod=str_replace(" ", " ",$prod);
$prod=trim($prod);
$zakaz=trim($zakaz);
$count=round($count);
$row_prod_art=get_prod_art($prod);
if (!empty($row_prod_art))
{
$zakaz=quote_smart($zakaz);
if (!empty($row_prod_art['img'])) $count=quote_smart($count);
else $count=0;
$prod=quote_smart($row_prod_art['prod']);
$sql="UPDATE prod SET zakaz=$zakaz, count=$count WHERE prod=".$prod;
fwrite($flog,$sql."\n");
$i++;
$result=mysql_query($sql,$link) or die("Запрос $sql не выполнен. Ошибка: ".mysql_error());
}
else
{
$nettovarov.=$prod."\r\n";
}
}
}
$endtime=time();
$finaltime=$endtime-$starttime;
print "Прошло времени: $finaltime секунд<br>";
print "Изменены остатки для: $i товаров<br>";
Купить / продать сайт ( https://www.telderi.ru/?pid=ca1f70 ) | Недорогой и надежный хостинг ( https://www.get-host.ru )
I
На сайте с 05.06.2006
Offline
117
#12

Модифицируйте скрипт, добавляйте по 1000 строк.

ivtrans добавил 20.11.2011 в 22:59

Если данных немного добавляете в БД, то можно пробовать вначале отпарсить все данные из файла в запрос, а потом разом добавить в БД. И не совсем понял, почему у вас запросы 'UPDATE', а не 'INSERT INTO' ?

Миграция с ISPManager 4 в VestaCP (https://chast.in/copy-users-from-ispmanager-2-vestacp.html) Хостинг серверов, пользуюсь сам (http://vps-server.ru/rp/pl.php?96)
R
На сайте с 28.04.2007
Offline
155
Rel
#13


print "Прошло времени: $finaltime секунд<br>";
print "Изменены остатки для: $i товаров<br>";

Этот ответ не возвращает? Файл $fname1 и соединение с базой после закрываете?

Дешевое продление и регистрация .RU/.РФ в RU-CENTER - 190 руб. (/ru/forum/758778) в розницу. http://nic.regdomains.ru (http://nic.regdomains.ru) - регистрация и продление доменов в автоматическом режиме.
savage
На сайте с 10.01.2007
Offline
224
#14
Rel:

print "Прошло времени: $finaltime секунд<br>";
print "Изменены остатки для: $i товаров<br>";

Этот ответ не возвращает? Файл $fname1 и соединения с базой дальше закрываете?

ну да - этот. $fname1 закрывается дальше, а соединение с базой нет.

R
На сайте с 28.04.2007
Offline
155
Rel
#15
savage:
а соединение с базой нет.

Почему? Попробуйте закрыть, возможно причина в этом.

savage
На сайте с 10.01.2007
Offline
224
#16
Rel:
Почему? Попробуйте закрыть.

почему? не знаю :) - уже пробую, спасибо.

Tortemon
На сайте с 09.07.2011
Offline
62
#17

Скрипт продолжает загружаться после того как логи полностью заполнены и кол-во исходных данных становится равно нулю или же когда он заканчивает работу вылетает ошибка? (Спрашиваю это к тому, что 8к строк за 1 час как-то долго слишком обрабатываются, по-идее должны в разы быстрее)

Веб и мобильная разработка [PHP, JS, Golang, Python, Java] (/ru/forum/998064)
LEOnidUKG
На сайте с 25.11.2006
Offline
1748
#18

1. Cделайте индексы к полям с которыми работаете

2. У вас мускуль случаем не уходит в mysql gone away?

p.s. код топорный аж ЖУТЬ.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
savage
На сайте с 10.01.2007
Offline
224
#19
LEOnidUKG:
1. Cделайте индексы к полям с которыми работаете
2. У вас мускуль случаем не уходит в mysql gone away?

p.s. код топорный аж ЖУТЬ.

Нет не уходит. Индекс есть, точно апдейт лучше по индексу делать :), просто было куча переделок, артикулы, наименования, и то одно ключ, то другое + реструкторизация базы.

В чем еще топорность?

R
На сайте с 28.04.2007
Offline
155
Rel
#20
savage:
почему? не знаю :) - уже пробую, спасибо.

Как результат? Не решилась проблема?

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий