鍍金池/ 問答/PHP/ PHP怎么轉(zhuǎn)換Windows的路徑斜杠

PHP怎么轉(zhuǎn)換Windows的路徑斜杠

比如:

\數(shù)碼相機(jī)\15項(xiàng)目\0104_MLYN.MP4
轉(zhuǎn)換為

/數(shù)碼相機(jī)/15項(xiàng)目/0104_MLYN.MP4

用str_replace("\","/","\數(shù)碼相機(jī)\15項(xiàng)目\0104_MLYN.MP4")的話,

會出現(xiàn)這個問題 \15 和 \010 就會沒有斜杠了

變成 /數(shù)碼相機(jī) 項(xiàng)目 4_MLYN.MP4

回答
編輯回答
孤島

用PHP 預(yù)定義常量DIRECTORY_SEPARATOR來代替'','/'這樣的路徑分隔符

2017年12月3日 00:03
編輯回答
淚染裳

問題原因:\默認(rèn)被當(dāng)成轉(zhuǎn)義符處理,需要用\\來表示反斜杠

解決辦法:
str_replace("\\","/","\數(shù)碼相機(jī)\15項(xiàng)目\0104_MLYN.MP4")

猜測你要想在Linux中也能夠正常識別。

建議:使用PHP中內(nèi)置常量DIRECTORY_SEPARATOR來表示路徑分隔符

代碼:

$fileName = '\數(shù)碼相機(jī)\15項(xiàng)目\0104_MLYN.MP4';
$fileName = str_replace('\\', DIRECTORY_SEPARATOR,  $fileName);
echo $fileName; //在linux和windows下都支持
2018年7月23日 09:08
編輯回答
病癮
<?php
  
$str = '\數(shù)碼相機(jī)\15項(xiàng)目\0104_MLYN.MP4';
echo str_replace('\\', '/', $str);
// 輸出 /數(shù)碼相機(jī)/15項(xiàng)目/0104_MLYN.MP4

MacOS 10.13.3 + PHP 7.1.14 實(shí)測可行 。

2018年6月22日 10:22