我正在使用下面的代码片段来获取文件名和扩展名,这是可行的,但是我如何重命名文件,以便文件名等于bake23 +文件扩展名。
$variable = 'baKe23';
$filename = $_FILES['filename']['name'];
$ext = $_FILES["filename"]["type"];如果文件名已存在,则重命名:
$filename = $_FILES['filename']['name'];
$extension = substr($filename, strpos($filename,'.'),
strlen($filename)-1);
$sql="SELECT filename FROM documents WHERE person_id= '$pid'";
$result=mysql_query($sql);
$query = mysql_query($sql) or die ("Error: ".mysql_error());
if ($result == "")
{
echo "";
}
echo "";
$rows = mysql_num_rows($result);
if($rows == 0)
{
print("");
}
elseif($rows > 0)
{
while($row = mysql_fetch_array($query))
{
$existing = $row['filename'];
print("");
}
}
if ( $filename === $existing ) {
$filename = $rnd_id.strrchr($_FILES['filename']['name'], ".");
} else {
$filename = $_FILES['filename']['name'];;
}发布于 2011-08-10 05:10:43
从提交的文件名中获取扩展名并将其添加到您的变量中:
$filename = basename($filename);
$filename = $variable . (string) strrchr($filename, '.');编辑:字面意思是您编辑过的问题的
$filename = $variable . '.' . $ext;但是,考虑到我将上传一个名为banana-smiley.gif的图像,将会发生以下情况:
$filename = 'baKe23.image/gif';我想这不是你想要的。您甚至根本不应该依赖$_FILES[*]["type"]。您需要做的是检查每个上传的文件(确定类型,验证类型,对上传的文件运行病毒检查程序)。
与此相关的问题是和。
发布于 2011-08-10 05:09:04
$variable = 'baKe23';
$filename = $_FILES['filename']['name'];
$filename = $variable.strrchr($_FILES['filename']['name'], ".");或
$variable = 'baKe23';
$filename = $_FILES['filename']['name'];
$filename = $variable.".".pathinfo($filename, PATHINFO_EXTENSION);https://stackoverflow.com/questions/7003004
复制相似问题