| Salador |
|
|---|---|
#41889 Dr2005alex: С fileAPI не получилось - сделал по старинке, хотя есть желание сделать на fileAPI чтобы можно было просто перетаскивать файл. Нужно загрузить csv файл с данными клиента - сделал так:
if($_FILES["loadfile"]["size"] > $max_file_size*1024*1024)
{
$t_sz->assign(array(
'FSIZE' => $max_file_size,
));
$plugin_body .= $t_sz->parse('STEP_ERR_FSIZE')->text('STEP_ERR_FSIZE');
//echo 'The SIZE of File is more than '.$max_file_size.' Mb!';
}
elseif (move_uploaded_file($_FILES["loadfile"]["tmp_name"],$uploaddir.basename($_FILES["loadfile"]["tmp_name"])))
{
//echo("The file "."<b>".$_FILES["loadfile"]["name"]."</b>"." was downloaded successfully!");
$t_sz->assign(array(
'FNAME' => $_FILES["loadfile"]["name"],
));
$plugin_body .= $t_sz->parse('STEP_SUC_FILELOAD')->text('STEP_SUC_FILELOAD'); //Успешно загружен файл
if(!setlocale(LC_ALL, 'ru_RU.utf8')) setlocale(LC_ALL, 'en_US.utf8'); // Определяем параметры нужно чтобы кирилица нормально отображалась
if(setlocale(LC_ALL, 0) == 'C') die('Your server does not suport LOCALS');
$file = fopen('php://memory', 'w+');
fwrite($file, iconv('CP1251', 'UTF-8', file_get_contents($uploaddir.basename($_FILES["loadfile"]["tmp_name"]))));
rewind($file);
$r = 0; // это строки в файле
while (($row = fgetcsv($file, 1500, ";")) != FALSE) // $file - имя файла; 1500 - длина; (точка с запятой) - это разделитель полей в файле
{
$r++;
if($r == 1) {continue;} // Не дает записать в БД первую строку (бывает так, что первая строка используется для заголовков)
$arr_client=array(
'pol'=>$row[0],
'name'=>$row[1],
'fam'=>$row[2],
'otch'=>$row[3],
'email'=>$row[4],
'tel'=>$row[5],
'city'=>$row[6],
'adress'=>$row[7],
'comm'=>$row[8]
);
$db->insert($table_klient, $arr_client); //Записывает клиентов в базу
}
fclose($file);
}
|