2012-08-09 59 views
0

我有两个领域在数据库“文件名”和“UrlFileName”,所以我清理“文件名”从无效字符有例如“FinaleFileName”新的文件名,所以我的问题是我需要的一个简单的代码或功能改变URL文件的名称太之前存储在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 

任何想法?

+0

什么是无效的文件名字符? – 2012-08-09 03:29:09

回答

0

如果您打算使用URLfilename来搜索finalFilename那么是的,它们需要保持一致,否则您将无法找到您的文件。如果URLFileName只会被用于搜索URLFileName,那么就没有任何区别(只要你选择了它为你的数据库注入攻击)。

说了这么多,为何要保留两者兼而有之?为什么不只是清理URLFilename并使用它并且只使用它?为什么加倍信息?

2

我不知道我知道你要问什么,但根据测试情况下,我认为你正在寻找strtolower

+0

一个很好的猜测......和一个在线的解决方案。 – 2012-08-09 03:42:53

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; 
?> 

这是你想要的吗?