2015-11-04 51 views
0

我正在藉助存儲在數據庫中的值獲取文件夾路徑,我得到的確切路徑名爲$file_info[path],但是這得到的輸出是/在每個文件夾的末尾。

這上面的代碼顯示路徑,如:

/folders/New Files/Latest/ 

而且我要像導致

/folders/New Files/Latest 

夥計們,請告訴我該查詢精確解。

+0

使用'substr()'。 – Twisty

+0

你能告訴我們如何正確使用substr()嗎? – Kailash

+0

@KailashGhodke,是的。我發佈了一個答案。 – Twisty

回答

1

這可能是最好的更正你的變量,所以它不會追加最後的/。我想用rtrim

echo rtrim('/folders/New Files/Latest/', '/'); 

輸出:

/folders/New Files/Latest 

演示:https://eval.in/463160

這種方式可以確保你只從字符串的結尾移除/秒。 (請注意,如果///是結尾,並且您只希望將其刪除,則不會這樣做,這將刪除所有尾隨/ s)。

+0

非常感謝@ chris85!用回聲顯示完美的結果;但是當我用我的代碼嘗試它不工作... – Kailash

+0

'$ folder =「rtrim(''。$ file_info [path]。'','/')」'這裏是我想要的 – Kailash

+0

脫掉引號。 '$ folder = rtrim($ file_info ['path'],'/');'。如果它是一個字符串,'path'應該用引號引起來。 – chris85

0

您可以驗證的最後一個位置/路徑:

if (strrpos($path, '/')==strlen($path)-1){ 
    // remove last character 
    $path = substr($path,0,strlen($path)-1); 
} 
+0

*如果給出長度並且是負數,那麼在字符串*的末尾會省略很多字符。您不需要調用'strlen()',只需將長度設置爲'-1'即可刪除最後一個字符。 – Twisty

+0

感謝您的優化。 –

0

您可以使用substr()這一點。

substr($file_info[path], 0, -1);

如果該值是 '/文件夾/新文件/最新/',它現在將是 '/文件夾/新文件/最新'。