我有這個文件,我上傳到通過PHP文件上傳服務器..PHP ereg_replace
6;'!8.jpg
我用這個代碼,除去非字母數字字符..
$image1 = ereg_replace("[^A-Za-z0-9]", "", $_FILES["image"]["name"]);
工作正常,但它返回像我這樣的圖像
68jpg
什麼是將此返回爲的最佳方法
任何想法?
我有這個文件,我上傳到通過PHP文件上傳服務器..PHP ereg_replace
6;'!8.jpg
我用這個代碼,除去非字母數字字符..
$image1 = ereg_replace("[^A-Za-z0-9]", "", $_FILES["image"]["name"]);
工作正常,但它返回像我這樣的圖像
68jpg
什麼是將此返回爲的最佳方法
任何想法?
請勿使用ereg/eregi。這些功能已被棄用。改用PCRE函數。
嘗試這種方式
$image1 = preg_replace("#[^a-z0-9\.]#i", null, $_FILES["image"]["name"]);
這是我一直在尋找:)謝謝 – user979331
修復正則表達式的好處:-) – shadyyx
你也許可以使用PHP的PATHINFO($ _ IMAGE [ 「形象」] [ 「名稱」])命令掰開一個文件名的基本路徑,基本名稱和文件擴展名。然後,您可以在基本名稱上替換(如@John Conde建議的那樣),然後將基本名稱和文件擴展名連接在一起。
爲什麼這很複雜? -1 – shadyyx
看過接受的答案後,可能沒有理由。 – OrionRogue
問題是,許多人解決了問題過於複雜的解決方案...爲什麼要使用'pathinfo',然後分開,然後使用'preg_replace'時,它可以立即使用結果。 – shadyyx
ereg *已棄用。使用preg *代替。 –