2012-07-31 118 views
4

我通過php掃描圖像文件夾得到一個圖像URL數組。某些圖像文件名稱具有空白區域。白色空間之後的部分迷路了。例如: 該文件是罰款:帶有空格的圖像文件名

http://domain.com/folder/blue-sky.png 

該文件將失去部分sky.png

http://domain.com/folder/blue sky.png 

我的代碼,用於掃描文件夾中有無關的檢查或處理文件名。我怎樣才能得到blue sky.png的全名而不重命名爲blue-sky.png?在URL編碼

+3

請發佈您正在使用的代碼。 – j08691 2012-07-31 14:37:07

+2

您可以在代碼中添加一個['urlencode'](http://php.net/manual/en/function.urlencode.php)行來掃描文件夾以解決該問題。 – Palladium 2012-07-31 14:39:52

+0

使用'glob'我不能重現你說的話。請發佈您的代碼 – Alfwed 2012-07-31 14:40:54

回答

15

空間被表示爲字符串「%20」 所以你可能需要使用str_replace取代「」字符的字符「%20」

echo str_replace(' ', '%20', 'http://domain.com/folder/blue sky.png'); 

將輸出的每一個實例

http://domain.com/folder/blue%20sky.png 

補充信息

另外,我從來沒有使用過自己,但我想看看PHP函數urlencode如果我是你,也可能包含有用信息

注:URL編碼將改變每一個字符不是標準的字符串(所以你可能只想使用字符串上的urlencode作爲你的圖像名稱)

+0

str_replace('','%20',$ file)解決了這個問題。謝謝! – Jenny 2012-07-31 22:43:56

0

你可以使用正則表達式。

試試;

$file_name = "http://domain.com/folder/blue sky.png"; 
$file_name2 = preg_replace("/ /", "-", $file_name); 
echo $file_name2; //echos http://domain.com/folder/blue-sky.png 

希望這有助於...

0

我遇到了這個問題,但是上面意識到我真正的問題是,我寫我的HTML鏈接無引號的答案後試驗 - 該瀏覽器是容忍這一點,但如果空間存在則不會。 即我編碼類似
A HREF = .. /文件夾/藍sky.png的
代替
A HREF = 「../文件夾/藍sky.png」
用在正確的語法空間地址不會造成問題

相關問題