簡體   English   中英

替換文件名中的點

[英]Replacing dots in a filename

如何在不丟失文件擴展名的情況下用下划線替換點?

$str = $_FILES['files']['name']; //file.name.word.jpg
$ext = end(explode('.', $str));
$filename = explode('.', $str);
//output file_name_word.jpg

ps:必須在上傳之前。如果用戶上傳帶點的文件,則必須重命名並插入到數據庫中

使用pathinfo()提取文件名,並使用str_replace()刪除其中的所有點。

$filename = pathinfo('/path/to/your/file');
echo str_replace('.', '_', $filename['filename']);
$str = "file.name.word.jpg";
$regex = "/(\.)(?=\S+\.)/";
echo preg_replace($regex, "_", $str);

簡寫

echo preg_replace("/(\.)(?=\S+\.)/", "_", "file.name.word.jpg");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM