2016-12-28 9 views
2

ファイル名の一重引用符(')でファイルの内容を読み取る必要があります。私はファイル名に影響を与えないので、名前の変更はオプションではありません。残念ながら、単にのように、それは動作しませんエスケープ:ファイル名に一重引用符が含まれている場合、file_get_contents()を使用するにはどうすればよいですか?

$myFile = 'John\\\'s file'; 
    $text = file_get_contents($myFile); 

は何のLinuxシステム上でPHP 5でこのファイルにアクセスするための正しい方法でしょうか?

+0

'$ myFile =" Johnのファイル ";'を試しましたか? – Eugen

+0

実際、これは単なるコード例です。実際のコードでは、ファイル名は別のファイルから文字列として読み込まれるため、問題はありません。 '$ myFile'は一重引用符を含む文字列であると仮定してください。 –

+0

私もubuntuを使っています。この '$ myFile =" Johnのファイル "を試しました。 print file_get_contents($ myFile); 'これでコードが動作します。 – Eugen

答えて

1

あなたは、文字列をダブルエスケープする必要はありません。

$myFile = 'John\'s file'; // This works fine. 
$text = file_get_contents($myFile); 

は、私はちょうど私の端末で同様のコマンドを試してみた:

php -r "chdir('te\'st');" 

それは動作します。

+0

ありがとうございます。あなたが正しい。 @eugenはまた彼のコメントでこれを指摘した。 –

関連する問題