Bazı cmd (DOS sürümü) kütüphane cURL komutları geçmek için php ile COM nesneler aracılığıyla WScript.Shell kullanmaya çalışıyordu. İşte ben bu görevi gerçekleştirmek için ne kullanın:
function windExec($cmd,$mode=''){
// Setup the command to run from "run"
$cmdline = "cmd /C $cmd";
// set-up the output and mode
if ($mode=='FG'){
$outputfile = uniqid(time()) . ".txt";
$cmdline .= " > $outputfile";
$m = true;
}
else $m = false;
// Make a new instance of the COM object
$WshShell = new COM("WScript.Shell");
// Make the command window but dont show it.
$oExec = $WshShell->Run($cmdline, 0, $m);
if ($outputfile){
// Read the tmp file.
$retStr = file_get_contents($outputfile);
// Delete the temp_file.
unlink($outputfile);
}
else $retStr = "";
return $retStr;
}
şimdi ben gibi bu işlevini çalıştırdığınızda:
windExec("\"C:/Documents and Settings/ermac/Desktop/my project/curl\" http://www.google.com/", 'FG');
yolu ile ilgili bir sorun olduğundan kıvırmak çalışmaz. Ben yoldan boşlukları kaldırmak ama ne zaman o inşaat büyük.
windExec("\"C:/curl\" http://www.google.com/", 'FG');
so my question is how can I escape these spaces in wscript.shell commands? is there anyway I can fix this?
şimdiden teşekkürler :)