Bunu uygulamak için benim şimdiye kadar çok kötü değil versiyonu:
function bashFileConvert($file)
{
return preg_replace('/([^\/\s]+\s+[^\/]+)(\/|$)/','"${1}"${2}',$file);
}
hangi dosya adı bir boşluk gibi olduğunda çoğunlukla sorunu işler
$flie = '/usr/local/my test file.txt'
de Bash için tanınabilir olmayacak
böylece dönüştürmek gerekiyor
$file = '/usr/local/"my test file.txt"'
gibi bir şey callintg önce:
exec('ls ' . $file);
Ama diğer birçok köşe durumlarda alıntı gibi, hala ve '&' Sorun,
bu yüzden, bu işi yapmak için hazır bir sürümü var?
==================================
Şimdi ben) (escapeshellarg çalıştı, ama burada biraz garip:
$file = '/usr/local/apache2/resumes_txt/5/San Francisco/qtzhang/Device "Engineer"/Job Resume Qintao Zhang.pdf.txt';
echo escapeshellarg($file);
D:\\test>php test.php
"/usr/local/apache2/resumes_txt/5/San Francisco/qtzhang/Device Engineer /Job Resume Qintao Zhang.pdf.txt"
Bu fonksiyon ile görünüyor, alıntı bir boşluk ile değiştirilir?