2013-10-07 71 views
0

我有一個php文件,用於搜索計算機的windows目錄。如果我有一個包含非英語字符(如「ÖnderŞoğlopıpk」)的目錄,它將返回空值。 我的PHP文件是這樣:URL中的非英文Windows目錄名稱鏈接

$port = $_GET["port"];//Here is computer's port 
$path = trim($_GET["path"]);//Here is the path which does not work 
$path = str_replace(" ","+",$path); 
$path = urlencode($path); 
$suffix = $_GET["suffix"];//Here is suffix which I am searching 
if($_GET){ 
$url='http://mylink.com?host=localhost&port='.$port.'&showerrorinxml=yes&link=proc_list?find_files___path='.$path.'___suffix='.$suffix.''; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_URL, $url); 
$data = curl_exec($ch); 
curl_close($ch); 
$xml = simplexml_load_string($data); 

如果在路徑變量非英文字符,如「期基於g I S G I」返回null給我。如果是英文,則沒有問題。我可以搜索我想要的東西。 我urlencoding它,但它沒有奏效。 我的網址似乎是一個名爲「SeçpaYazılım登錄」目錄是:

http://mylink.com?host=localhost&port=44833&showerrorinxml=yes&link=proc_list?find_files___path=D%3A%2FSe%C3%A7pa%2BYaz%C4%B1l%C4%B1m%2BLogin%2F___suffix=.css 

它似乎在瀏覽器,因此:

http://mylink.com?host=localhost&port=44833&showerrorinxml=yes&link=proc_list?find_files___path=D%3A%2FSeçpa%2BYazılım%2BLogin%2F___suffix=.css 

任何人有關於這個主題的想法?

回答

0

你需要取回後urldecode輸入:

$path = trim(urldecode($_GET['path'])); 

UPDATE: OK,更仔細地閱讀你的問題。對我來說,好像你編碼的URL兩次。第一次通過HTTP請求從您的瀏覽器發送它,第二次在$path = urlencode($path);

+0

我編輯了問題。如果你再讀一遍,你會看到我。 – mocco