Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: разрыв строки
 
 автор: inga   (20.11.2008 в 17:37)   письмо автору
 
 

Есть фаил xls я перевожу его в txt, заливаю его в MySQL таблицу :

<?
  $filename 
"katalog.txt"
  
// otkrivaem
  
$file fopen($filename"r"); 
  
// chitaem
  
$buffer fread($filefilesize($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]);
?>

и разрыв строки не удаляется
Вообщем что можите посоветовать? как его удалить?

  Ответить  
 
 автор: sim5   (20.11.2008 в 17:46)   письмо автору
 
   для: inga   (20.11.2008 в 17:37)
 

А с чего вы взяли, что "маленький квадратик" это разрыв строки? Управляющие символы как возврат каретки (0D), перевод строки (0А), табуляций... не видны.

  Ответить  
 
 автор: inga   (20.11.2008 в 17:58)   письмо автору
 
   для: sim5   (20.11.2008 в 17:46)
 

в txt и xls он выглядит как маленький квадратик, его там не возможно удалить
если открою документом Microsoft Word.doc то его могу удалить как "разрыв строки" он там так называется.
как его удалить средствами пхп и что он значит тут я не знаю

  Ответить  
 
 автор: sim5   (20.11.2008 в 18:04)   письмо автору
 
   для: inga   (20.11.2008 в 17:58)
 

Если в Ворде посредством вставки разрыва выбрать новую строку, то будет втсавлено 0D0A. Что там за квадратик у вас и с какого боку он у вас взялся, я не знаю, но можно посмотреть кусочек вашего текста в HEX-редакторе, чтобы узнать код сивола, а затем уже вырезать его.

  Ответить  
 
 автор: inga   (20.11.2008 в 18:12)   письмо автору
13.5 Кб
 
   для: sim5   (20.11.2008 в 18:04)
 

вот прикрепляю два файла
xls первоначальный тут просто переносит на новую строку и то что сохраняю и выходит в txt.
в txt все еще и в кавычки почемуто берется
помогите справиться с этим "разрывом строки" как его удалить

  Ответить  
 
 автор: inga   (20.11.2008 в 18:12)   письмо автору
17 байт
 
   для: inga   (20.11.2008 в 18:12)
 

и второй прикрепялю тут

  Ответить  
 
 автор: sim5   (20.11.2008 в 18:26)   письмо автору
 
   для: inga   (20.11.2008 в 18:12)
 

Это код перевода строки (0А) остался у вас. Странно почему он у вас квадратиком отображается. Уберите его:
str_replace("\n","",$s);
В исходном документе (Excel), если вы его готовите, не щелкайте Enter в полях, не будет и лишнего.

  Ответить  
 
 автор: inga   (20.11.2008 в 18:44)   письмо автору
 
   для: sim5   (20.11.2008 в 18:26)
 

спасибо, удалил я писала так же но с одинарными ковычками
str_replace('\n','',$s);

  Ответить  
 
 автор: sim5   (20.11.2008 в 18:48)   письмо автору
 
   для: inga   (20.11.2008 в 18:44)
 

В одинарных РНР не примет это за первод строки, как и не примет в таком случае \r и \t за соответствующие управляющие коды.

  Ответить  
 
 автор: inga   (20.11.2008 в 18:56)   письмо автору
 
   для: inga   (20.11.2008 в 18:44)
 

а подскажите может можно заливать скриптом xls фаил, если да то пример покажите ?

  Ответить  
 
 автор: sim5   (20.11.2008 в 19:04)   письмо автору
 
   для: inga   (20.11.2008 в 18:56)
 

Сохраняйте документы в Excel как CSV и тогда без особых усилий.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования