如何更改URL中的文件名

时间:2012-08-09 03:22:32

标签: php

我在数据库“FileName”和“UrlFileName”中有两个字段,所以我从无效字符清理“FileName”以获得一个新文件名称,例如“FinaleFileName”,所以我的问题是我需要一个简单的代码或函数来在将我的两个字段存储在DB中之前,也要更改URL中文件的名称,例如:

$FileName = "NaMeoFImagE-10.jpeg"
$UrlFileName = "uploads/pics/NaMeoFImagE-10.jpeg"
....
//I had created a function to remove or replace a invalid character //Ok

$FinaleFileName= nameofimage-10.jpeg

.....

A function to replace a File name in URL // Not OK

$FinaleUrlFileName = "uploads/pics/nameofimage-10.jpeg"// Im looking for this result 

任何想法?

3 个答案:

答案 0 :(得分:2)

我不确定我理解您的要求,但根据您的测试用例,我认为您正在寻找strtolower

答案 1 :(得分:0)

如果您要使用URLfilename搜索finalFilename,那么是,他们将需要相同,否则您将无法找到您的文件。如果URLFileName仅用于搜索URLFileName,那么它将没有任何区别(只要你检查它对你的数据库的注入攻击)。

话虽如此,为什么同时保留?为什么不只是清理URLFilename并使用它而只是那个?为什么要加倍信息?

答案 2 :(得分:0)

我不确定这是否是您想要的,除此之外,这是一个快速而肮脏的解决方案。

    <?php

         $FileName = "nameofimage-10.jpeg";  //your sanitized file name
         $UrlFileName = "uploads/pics/NaMeoFImagE-10.jpeg";  //unclean URl

 $parts = explode("/", $UrlFileName);
 $name = $parts[ count($parts) - 1] ;
 $name = $FileName;
 $final = "";  //final cleaned URL

 for($i = 0; $i < count($parts) - 1; $i++)
 {
    $final .= $parts[$i] . "/";
 }
 $final .= $name;

  echo $final  //return the clean URL;
?>

这是你想要的吗?