dosya adı garip ^ M

2 Cevap
[root@file Engineer]# ls resume_Al_Kassar_9-29-08.doc.txt^M 
resume_Al_Kassar_9-29-08.doc.txt?
[root@file Engineer]#

Ama ben "File Transfer Window" ile bu dizine göz, M hiç ^ görmedim

basitçe "resume_Al_Kassar_9-29-08.doc.txt" bulunuyor

Herhangi bir kimse bu konuda adım? Ve bu nasıl çözmek için?

Bu. Txt ^ M dosya başka bir program tarafından oluşturulur ve "bashFileConvert" fonksiyonu (bir PHP işlevi bulunuyor) tarafından işlenir.

$toF = bashFileConvert($toF);//this step generated ^M
$cmd = "$parser $file $arrow_str $toF";

Nasıl bu can sıkıcı ^ M kurtulabilirsiniz?

Daha sonra buldum:

$arrow_str = $arrow ? '>' : '';
$file = bashFileConvert($file);
$toF = bashFileConvert($toF);
$cmd = "$parser $file $arrow_str $toF";
echo $cmd . "\r\n";
file_put_contents('resumeSh',$cmd."\r\n",FILE_APPEND);

Bu soruna neden son satırı olmalıdır!

2 Cevap

Eğer bir 'carrage dönüş' karakteri sizin dosya eklendi nereden bazı yerde bir msdos / Unix Textfile missmatch olabilir. msdos \ r \ n ve Unix sadece \ n ^ M i inanıyoruz r (carrage dönüş) \ edilmektedir.

Bu kesinlikle bir satır sonları konudur. Büyük olasılıkla PHP işlevi \ n ile bölme metin, ve giriş aslında r \ \ n. Sen böyle bir şey yaparak türünü biten bir satır için giriş dönüştürebilirsiniz:

$data = str_replace("\r\n", "\n", $data);
$data = str_replace("\r", "\n", $data);

Şimdi $ veriler sadece \ n satır sonları içerecektir.

Edit after clarification

\ Kullanmayın r \ n sadece \ n kullanın ve her şey yolunda olmalı.