2014-08-27 2 views
-1

텍스트 파일에 내용을 쓰는 데 urldecode 데이터를 사용하고 있지만 그 파일에 Windows 메모장에 모든 내용이 함께 표시됩니다 (정렬되지 않았습니다) (Windows에서는 wordpad입니다. 올바르게 올 것입니다.) 또한 우분투의 내용을 열면 내용이 올바르게 전달됩니다 (내 내용은 키와 공백을 입력해야합니다). 빠른 수정을 위해PHP로 작성한 텍스트 파일과 관련된 문제

$attachment_file = fopen(Yii::app()->basePath.'/../uploads/attachment'.$user_id.'.txt', "a+") or die("Unable to open file!"); 

$content   = urldecode($note_data["note_data"]); 

fwrite($attachment_file,$content); 
fclose($attachment_file); 

은 내가

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

을했다하지만 난 그것을 할 다른 방법이 알고 싶어요.

+1

공간이 % 20으로 대체 되었기 때문에 대체 왜 urlencode를 사용하고 싶습니까? – Robert

+0

로버트 urlencode 데이터는 Iphone과 Ipad에서 백엔드로 전송됩니다. 여기에서는 yii를 사용하여 데이터를 조작하고 다른 작업을 수행합니다. – Naveenbos

+0

그래서 단어가 나뉘어지면 Unix 시스템과 Windows에서 다른 줄 끝 부분에 문제가 생길 수 있습니다. Windows는 unix EOL 대신에'str_replace ("\ n", "\ r \ n", $ content); windows EOL. – Robert

답변

1

Linux를 사용하여 파일을 만드는 경우이 파일을 수동으로 추가해야합니다. Windows를 사용하는 경우 대신 str_replace ("\ n", PHP_EOL, $ content)를 사용할 수 있습니다.

왜 나는 당신이 urldecode를하고 있는지 이해하지 못합니다. 어쩌면 utf-8 형식으로 데이터를 가지고 있다면 utf8_decode와 같은 것을 사용해야 할 것입니다.

+0

서버는 json 인코딩 형식의 데이터를 받아들입니다. ios 프런트 엔드에서 urlencode 형식으로 데이터를 보내고 있습니다. ios 개발에 익숙하지 않습니다. 서버 측 데이터에 공백이 들어가며 특수 문자가 들어갑니다. – Naveenbos

관련 문제