0

このexec()関数は、指定されたパスが開発フォルダー内にある限り、Windowsマシンのファイル属性を変更するために機能します。好き

D:\ Programs \ Development \ www \

ファイルがそのパス内にある限り、その属性は変更できます。

$path = D:\Programs\Development\www\test.jpg
exec("attrib +s +h $path");

それは機能しますが、パスを別の場所に変更すると、この関数は機能しないようです

$path = 'D:\Desktop\New Folder (2)\Test Folders\test.jpg'
exec("attrib +s +h $path");

これで、同じコマンドは機能しなくなります。これを解決する方法について何かアイデアはありますか?

4

1 に答える 1

1

パスを引用符で囲む必要があります。

ほとんどのオペレーティング システムと同様に、ファイル名のスペースは正面から対処しなければならない問題です。これは通常、バックスラッシュを使用して行われますが、Windows はフォルダー システムにバックスラッシュを使用するため、引用符を使用する必要があります。

$path = 'D:\Desktop\New Folder (2)\Test Folders\test.jpg'
exec("attrib +s +h \"{$path}\"");

これはうまくいくはずです。

于 2012-10-18T06:22:07.527 に答える