|
|
|
| Есть фаил xls я перевожу его в txt, заливаю его в MySQL таблицу :
<?
$filename = "katalog.txt";
// otkrivaem
$file = fopen($filename, "r");
// chitaem
$buffer = fread($file, filesize($filename));
// zakrivaem
fclose($file);
// echo $buffer; exit;
// delaem massiv iz stroki dannwx
$file_array = explode("\r\n", $buffer);
//nachalo perebora massiva
foreach ($file_array as $line_num => $line) {
//razbivaem stroku na polya i formiruem zapros
$line_exp = explode("\t", $line);
$sqlquery = 'INSERT INTO `ukraine` VALUES (';
$sqlquery .= '"'.mysql_real_escape_string($line_exp[0]).'"' ; // id
$sqlquery .= ',"'.mysql_real_escape_string($line_exp[4]).'"' ; //index
$sqlquery .= ',"'.mysql_real_escape_string($line_exp[5]).'"' ; // name
$sqlquery .= ',"'.mysql_real_escape_string($line_exp[6]).'"' ; // smsp
$sqlquery .= ',"'.mysql_real_escape_string($line_exp[7]).'"'; //mcp
$sqlquery .= ',"'.mysql_real_escape_string($line_exp[8]).'"' ; //pr_9
$sqlquery .= ',"'.mysql_real_escape_string($line_exp[9]).'"' ; // pr_pdv
$sqlquery .= ',"'.mysql_real_escape_string($line_exp[10]).'"' ; // mkp
$sqlquery .= ')';
//echo $sqlquery.";<br>";
$result = mysql_query($sqlquery) or die(" $sqlquery <b>failed!</b><br>".mysql_error());
}
?>
|
из за символа разрыва стоки(маленький квадратик) у меня проблема:
строки в txt файле отображаются со смещением и в самой базе мне эти квадратики не нужны
я пробывала делать так:
<?
str_replace('\n', '', $line_exp[0]);
?>
|
и разрыв строки не удаляется
Вообщем что можите посоветовать? как его удалить? | |
|
|
|
|
|
|
|
для: inga
(20.11.2008 в 17:37)
| | А с чего вы взяли, что "маленький квадратик" это разрыв строки? Управляющие символы как возврат каретки (0D), перевод строки (0А), табуляций... не видны. | |
|
|
|
|
|
|
|
для: sim5
(20.11.2008 в 17:46)
| | в txt и xls он выглядит как маленький квадратик, его там не возможно удалить
если открою документом Microsoft Word.doc то его могу удалить как "разрыв строки" он там так называется.
как его удалить средствами пхп и что он значит тут я не знаю | |
|
|
|
|
|
|
|
для: inga
(20.11.2008 в 17:58)
| | Если в Ворде посредством вставки разрыва выбрать новую строку, то будет втсавлено 0D0A. Что там за квадратик у вас и с какого боку он у вас взялся, я не знаю, но можно посмотреть кусочек вашего текста в HEX-редакторе, чтобы узнать код сивола, а затем уже вырезать его. | |
|
|
|
|
 13.5 Кб |
|
|
для: sim5
(20.11.2008 в 18:04)
| | вот прикрепляю два файла
xls первоначальный тут просто переносит на новую строку и то что сохраняю и выходит в txt.
в txt все еще и в кавычки почемуто берется
помогите справиться с этим "разрывом строки" как его удалить | |
|
|
|
|
 17 байт |
|
|
для: inga
(20.11.2008 в 18:12)
| | и второй прикрепялю тут | |
|
|
|
|
|
|
|
для: inga
(20.11.2008 в 18:12)
| | Это код перевода строки (0А) остался у вас. Странно почему он у вас квадратиком отображается. Уберите его:
str_replace("\n","",$s);
В исходном документе (Excel), если вы его готовите, не щелкайте Enter в полях, не будет и лишнего. | |
|
|
|
|
|
|
|
для: sim5
(20.11.2008 в 18:26)
| | спасибо, удалил я писала так же но с одинарными ковычками
str_replace('\n','',$s); | |
|
|
|
|
|
|
|
для: inga
(20.11.2008 в 18:44)
| | В одинарных РНР не примет это за первод строки, как и не примет в таком случае \r и \t за соответствующие управляющие коды. | |
|
|
|
|
|
|
|
для: inga
(20.11.2008 в 18:44)
| | а подскажите может можно заливать скриптом xls фаил, если да то пример покажите ? | |
|
|
|
|
|
|
|
для: inga
(20.11.2008 в 18:56)
| | Сохраняйте документы в Excel как CSV и тогда без особых усилий. | |
|
|
|