|
|
|
| Существует проблема с файлом... точнее с его чтением.
Файл читается не весь. Проблема в размере, т.е в качестве размера файла берется его изначальное заАрхивированое значение...
Допустим архив весит 30кб, разАрхивированный файл весит 100кб... Из файла читается всего 30кб =) Как эту проблему можно решить, подскажите пожалуйста?
$fp = gzopen($filename, "r");
// открываем его и читаем в буфер
$bufer = fread($fp, filesize($filename));
gzclose($fp);
// Разбиваем содержимое файла по точке с запятой
$quer = preg_split("|\);\r\n|", $bufer);
// Выполняем SQL-запросы
foreach ($quer as $query)
{
if (!mysql_query($query . ")"))
;
}
|
| |
|
|
|
|
|
|
|
для: Leab
(02.10.2007 в 08:08)
| | gzread() - ? | |
|
|
|
|
|
|
|
для: bronenos
(02.10.2007 в 08:38)
| | gzread (int zp, int length)
Проблему не решает... если указываешь размер файла то происходит то же самое... | |
|
|
|
|
|
|
|
для: Leab
(02.10.2007 в 08:43)
| | не самое хорошее решение но первое что пришло в голову
fread($fp, (filesize($filename)*3));
|
| |
|
|
|
|
|
|
|
для: Gemorroj
(02.10.2007 в 08:58)
| | не правильным путем пошел изначально=)
функция gzfile() решает проблему, создает массив... осталось только значения массива подставить в запрос.=)
Всем спаибо=) | |
|
|
|
|
|
|
|
для: Leab
(02.10.2007 в 09:00)
| | Конечный результат выглядит так
<?php
include "config.php";
$filename = "obsql.gz";
$fp = gzopen($filename, "r");
$bufer = gzfile($filename);
gzclose($fp);
foreach ($bufer as $buf)
{
if (!mysql_query($buf))
;
}
?>
|
| |
|
|
|