0
我想用PHP系統命令和mysqldump.exe來備份數據庫。我已經指定了mysqldump.exe的絕對路徑,後面跟着各種選項。用php空mysqldump文件
這是我當前如何進行調用 -
$path = "C:\Documents and Settings\User\Desktop\ABCD\mysqldump.exe";
$command = $path." <dump options>" > <backup filename> ";
system($command);
這產生完全沒有內容的SQL文件。我覺得問題是因爲路徑名稱中的空格,因爲
$path = "C:\ABCD\mysqldump.exe";
$command = $path." <dump options>" > <backup filename> ";
system($command);
絕對沒問題。
當路徑包含空格時,我無法弄清楚如何讓事情工作。我檢查了其他討論escapeshellarg等的線程,但在路徑上使用它也不起作用。
請幫忙。
對不起,那是打錯了。我正在使用系統($命令)。 ,但會使用雙反斜線修復空間問題,因爲如果沒有空格,工作正常。 – Scranton
該路徑還需要在實際命令中用引號括起來。 '「\」C:\\ ...... mysqldump.exe \「」',否則空格將通過嘗試執行'C:\ Documents'來終止命令。 –
好的,謝謝邁克爾和馬克,會嘗試你們倆說的。 – Scranton