2010-12-04 3 views
1

나는 PHP에서 file()에 문제가있다. 함수가 ! 또는 $ (예 : !textfile.txt 또는 $textfile.txt)으로 시작하는 파일을 읽을 수 없으면 fopen()으로 시도하고 같은 방식으로 발생합니다. 이 문제를 해결하는 방법을 모르겠습니다. 누군가가 도울 수 있기를 바랍니다. 감사합니다.PHP는 특수 문자가있는 파일 이름을 읽을 수 없습니다!

+0

운영체제를 지정하십시오. 이미 두 가지 대답이'$'에 대한 문제를 지적하지만'! '가 아닙니다. – ajreal

답변

1

변수 보간에서 변수 보간이 발생하기 때문에 $textfile 변수의 결과 값에 .txt이 추가되고 결과가 파일 이름으로 사용되므로 파일 이름이 "$textfile.txt" 인 경우 예상대로 작동하지 않습니다. $textfile이 정의되지 않은 경우 (대부분의 경우) .txt이 파일 이름으로 사용됩니다.

'$textfile.txt'로이 사용을 파일 이름 주위에 작은 따옴표를 수정하거나 큰 따옴표를 사용하는 경우, 탈출하려면 $로 : "\$textfile.txt"

하지만 "!textfile.txt"

+0

단지 "$ textfile.txt"를 실제로 열려면 "$"를 이스케이프하거나 싱글을 사용하십시오 인용 부호. "\ $ textfile.txt"와 "$ textfile.txt"는 모두 작동해야합니다. – gnud

0
echo file_get_contents("\$test.txt"); 

작품에 문제를 볼 수 없습니다.

특수 문자를 이스케이프 처리하거나 작은 따옴표로 묶어야합니다.

관련 문제