2017-10-10 76 views
-1

以下腳本正在我的本地主機上運行,​​沒有任何問題。它創建了一個json文件,我需要使用AJAX在我的前端構建一個表格。但是,當我將它放在運行apache 2和php 5.5(安裝了json模塊)的Ubuntu VM上時,它不會創建json文件,結果是我的表爲空。未在Ubuntu服務器上執行的PHP代碼

<?php 
$arr = scandir('.\lehre\test'); 
foreach($arr as $k=>$v){ 
    if($arr[$k] == "." || $arr[$k] == ".."){ 
     unset($arr[$k]); 
    } 
    $fp = fopen('files.json', 'w'); 
    fwrite($fp, json_encode($arr)); 
    fclose($fp); 
} 
?> 

PS:其他PHP元素,如include語句的工作。 編輯:我沒有得到任何錯誤消息。我在任何其他路徑聲明中使用正斜槓符號

+1

嘗試使用**斜槓**代替**反斜槓**爲'scandir'路徑 – teeyo

+1

使用'/'而不是'\\'在Linux系統上 –

+0

似乎無法解決它:( – RubyOnRails

回答

1

聽起來它的開發環境是我猜測的Windows機器,它在引用目錄路徑時使用反斜槓(\)。但是在UNIX系統上(Ubuntu就是這種情況),系統使用正斜槓(/)。

好消息是,即使Windows系統使用反斜槓,在Windows中運行PHP腳本也會識別反斜槓和正斜槓,因此您可以使用該腳本而不必在每次運行腳本時更改它在不同的操作系統中。

TL; DR:使用/而不是\。它可以在Windows和Ubuntu上運行。

相關問題