[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: import csv в mysql
snp_mbr
Добрый день.
Помогите разобраться с маленькой проблемкой.
if(isset($_REQUEST['upload_f'])) {
if(!file_exists($_FILES['csv']['tmp_name'])) { die('Файл не найден!'); }
$data=file($_FILES['csv']['tmp_name']);
foreach($data as $string)
$array=explode(";",$string);
mysql_query("INSERT INTO `product` VALUES('".$array['0']."', '".$array['1']."', '".$array['2']."', '".$_REQUEST['baza']."', '', '', '', '', '')") or die ("ERROR Ошибка импорта!");
}
}
else {
require_once("upload.php");
}

Стоит денвер в настройках php
phpinfo () есть строка
post_max_size 8M

Но данные импортируются до 1mb, в остальных случаях проверку на наличие файла не проходит.
Мосх горит)



Спустя 11 минут, 31 секунда (19.08.2010 - 17:10) waldicom написал(а):
LOAD DATA INFILE не пойдет?

Спустя 5 минут, 59 секунд (19.08.2010 - 17:16) snp_mbr написал(а):
Спасибо, Waldicom, буду пробывать.

Спустя 4 часа, 23 минуты, 42 секунды (19.08.2010 - 21:39) linker написал(а):
waldicom
LOAD DATA INFILE на сервере, из файла на стороне клиента?

post_max_size мало, надо смотреть еще на upload_max_filesize. И еще, я не знаю как оно у вас работает, но вот это
foreach($data as $string)
$array=explode(";",$string);
mysql_query("INSERT INTO `product` VALUES('".$array['0']."', '".$array['1']."', '".$array['2']."', '".$_REQUEST['baza']."', '', '', '', '', '')") or die ("ERROR Ошибка импорта!");
В цикле у вас выполняется только
$array=explode(";",$string);
а SQL-запрос выполняется только один раз.

Спустя 4 минуты, 31 секунда (19.08.2010 - 21:44) waldicom написал(а):
Цитата (linker @ 19.08.2010 - 20:39)
waldicom
LOAD DATA INFILE на сервере, из файла на стороне клиента?

А в чем конкретно проблема, опиши пожалуйста.

Спустя 7 минут, 1 секунда (19.08.2010 - 21:51) linker написал(а):
waldicom
Да не, проблем-то собственно никаких, если привилегии позволяют воспользоваться этой функцией и файл закачан на сервант.

Спустя 15 минут, 16 секунд (19.08.2010 - 22:06) waldicom написал(а):
Цитата (linker @ 19.08.2010 - 20:51)
waldicom
Да не, проблем-то собственно никаких, если привилегии позволяют воспользоваться этой функцией и файл закачан на сервант.

Не, просто тон вопроса был такой, как буд-то я предложил полететь на луну в одних сандалях на босу ногу...
Разве в примере выше файл не закачивается на сервер ? Или я что-то genf../

Спустя 10 часов, 12 минут, 18 секунд (20.08.2010 - 08:18) linker написал(а):
waldicom
smile.gif Нет, в том-то и дело, что не закачивается более 1 метра smile.gif Поэтому я так удивился на твой пост, но ничего более.

Спустя 1 час, 10 минут, 56 секунд (20.08.2010 - 09:29) sergeiss написал(а):
А я так и не поняп: не закачивается файл или данные не пишутся в БД (более 1 МБ в одно текстовое поле)? Судя по заголовку и самому вопросу, скорее второе.
Если это так, то совет: нефиг пихать такие объёмы в БД. Лучше сохранить эти данные в отдельном файле, а в БД оставить только ссылку на файл. Иначе можно сильно перегрузить БД.

Спустя 8 минут, 29 секунд (20.08.2010 - 09:38) linker написал(а):
Ребят, читайте внимательно

"...в остальных случаях проверку на наличие файла не проходит. "

Т.е. файл не залился.
if(!file_exists($_FILES['csv']['tmp_name'])) { die('Файл не найден!'); }

Спустя 5 минут, 16 секунд (20.08.2010 - 09:43) Basili4 написал(а):
я тут читал про
LOAD DATA INFILE и вычитал следующее пользователь должен иметь привилегии на использование этой конструкции http://www.mysql.ru/docs/man/LOAD_DATA.html

Спустя 25 минут, 41 секунда (20.08.2010 - 10:09) linker написал(а):
Basili4
Ессесно, а иначе это потенциальная дыра, через которую ведро со свистом пролетает.

Спустя 6 часов, 55 минут, 11 секунд (20.08.2010 - 17:04) snp_mbr написал(а):
Спасибо, разобрался. Тему можно закрывать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.