私は、他の引数の中でもパスを受け入れるphp CLIスクリプトを書いています。
例は次のとおりです。
php myscript.php -p=/Volumes/Macintosh HD/Users/andrea/samples
スクリプトには引数を赤にする独自の方法があり、-p の値を適切に取得して、$project_path という変数に設定します。
ただし、フォルダーを isdir($project_path) でテストすると、false が返されます。
私はさまざまな方法でパスを渡そうとしました:
- /Volumes/Macintosh\ HD/Users/andrea/samples
- 「/Volumes/Macintosh HD/Users/andrea/samples」
- "/Volumes/Macintosh HD/Users/andrea/samples"
- 「/Volumes/Macintosh\ HD/Users/andrea/samples」
- "/Volumes/Macintosh\ HD/Users/andrea/samples"
それらのどれも機能しません。それを機能させるために使用する必要がある形式は何ですか? スクリプトは別の OS (Windows など) でも動作する必要があることを考慮してください。
問題は、パス引数が自動的にエスケープされることです。エスケープを解除する必要があります。返される文字列は次のとおりです。
\'/Volumes/Macintosh\ HD/Users/andrea/samples\'