Добрый день! С php не знаком совсем! Прошу помощи (заводил такую тему на форуме для новичков - не помогло, так что прошу ногами не бить)! есть код , обрабатывающий строки из текстового файла vygruzka.txt! Привожу строку этого файла: 45000|300-009|Вешалка для брюк 2-33см|21.6| |5|16.10.05 С определённого момента(кажется в связи с переходом на php5, но утверждать не могу) после обработки эта строка стала преобразовываться в 45000|300-009|2-33см|21.6||5|16.10.05 То есть обрезало "Вешалка для брюк ." И так по каждой строке... обрезает до символа или числа.... Мне думается что что-то не так с функциями fgetcsv и implode(чисто интуиция). За все дельные советы огромное спасибо!!! Привожу код. <? $workfile='in/vygruzka.txt'; $maxllength=256; $csvsimbol='|'; $checksize=7; $good=''; $bad=''; $gzop=1;//может быть перекрыта переменной $zip if(isset($zip))$gzop=0; $ignore=array('82-018','82-022','82-036','82-050','82-066','82-080','82-084','82-092','82-097','82-098','82-102','82-180','82-189','86-259'); //ОБРАБОТКА $thread=($gzop==1)?@gzopen($workfile.'.gz','r')fopen($workfile,'r'); while(!feof($thread)) { $data=@fgetcsv($thread,$maxllength,$csvsimbol); if(is_array($data) && sizeof($data)==$checksize && $data[0]!='' && !in_array($data[1],$ignore)) { $good.=implode($data,$csvsimbol)."\r\n";#ДАННЫЕ ПРИНЯТЫ } else { $bad.=implode($data,$csvsimbol)."\r\n";#ДАННЫЕ ОТВЕРГНУТЫ } } fclose($thread); //ПЕРЕЗАПИСЬ (В ВЫГРУЗКУ ТЕКСТ) $result=fopen($workfile,'w'); fwrite($result,rtrim($good)); fclose($result); //ПЕРЕЗАПИСЬ (В ВЫГРУЗКУ ТЕКСТ) //ВЫВОД ОШИБОК НА ЭКРАН echo "Не прошло:\r\n\r\n".$bad; echo "\r\nВыгрузка очищена\r\n"; //===============================nova begin //ЧТЕНИЕ НОВА и ПЕРЕЗАПИСЬ ВЫГРУЗКИ $rew=file("in/nova.txt"); //ЧТЕНИЕ НОВА $rewr=array(); $countit=0; $ech=array(); //ОБРАБОТКА while(list($key,$value)=each($rew)) { $d=trim($value); $data=explode(";",$d); if(isset($data[1]) && $data[1]!="") { $rewr[$data[0]]=$data[1]; } } //ОБРАБОТКА //ОБРАБОТКА ВЫГРУЗКИ $read=fopen($workfile,'r'); while(!feof($read)) { $str1=trim(fgets($read)); $str=explode("|",$str1); if(isset($rewr[$str[1]])) { $str[6]=$rewr[$str[1]]; } array_push($ech,trim(implode($str,'|'))); } fclose($read); //ОБРАБОТКА ВЫГРУЗКИ //ПЕРЕЗАПИСЬ ВЫГРУЗКИ $rdy=fopen($workfile,'w'); $rez=implode($ech,"\r\n"); fwrite($rdy,$rez); fclose($rdy); echo "\r\nДанные NOVA внесены\r\n"; echo "\r\nВыгрузка перезаписана\r\n"; ?>