PHP bir dosyanın kısa DOS adını alabilir miyim?

4 Cevap php

Ben PHP çalıştırılabilir bir parametre olarak bir dosya yolu geçmek istiyorum, ve dosya yolu boşluk içerebilir. Yürütülebilir parametresi tırnak işlemek için görünmüyor, bu yüzden belki ben yerine uzun adının kısa DOS adını geçebileceği düşündüm.

PHP eski stil DOS 8.3 dosya adları hakkında bir şey biliyor mu?

4 Cevap

php/win32 COM/.net extension built-in ile birlikte. Bir WSH FileSystemObject oluşturmak için kullanabilirsiniz ve ardından ShortPath property File object in sorgulayabilirsiniz.

<?php
$objFSO = new COM("Scripting.FileSystemObject");
$objFile = $objFSO->GetFile(__FILE__);
echo "path: ", $objFile->Path, "\nshort path: ", $objFile->ShortPath;
prints e.g.
path: C:\Dokumente und Einstellungen\Volker\Desktop\test.php
short path: C:\DOKUME~1\Volker\Desktop\test.php

Sen escapeshellarg() bir göz var ve çift tırnak arasındaki parametre koymak isteyebilirsiniz.

Sen pencerelerde Kernel32 GetShortPathName API istiyorum. PHP Bu aramak için, Win32 API extension kullanmak gerekir ...

Nasıl alan backslashing hakkında?

Home/My Documents/  --> Home/My\ Documents/