如何用php将文件夹内的文件按数据库里的名称进行修改文件名? 10
在abc文件夹下有40个文件,现想编写php代码,将abc目录下的所有文件重命名为“人事部1号某某”,“人事部2号某某”,“人事部3号某某............直到人事...
在abc文件夹下有40个文件,现想编写php代码,将abc目录下的所有文件重命名为“人事部1号某某”,“人事部2号某某”,“人事部3号某某............直到人事部40号某某”,而某某这样的人名是从mysql数据库name下的user表中读出,代码如下:
<?php
$conn=mysql_connect("localhost","root","123456") or die("服务器连接失败");
mysql_query('set names gb2312');
mysql_select_db("chengji",$conn);
echo '数据库连接成功';
$sql="select * from chuyi";
$query=mysql_query($sql,$conn);
$result=mysql_fetch_assoc($query);
//$result=mysql_result($query);
$arrFiles = scandir("abc");
echo $result['xingming'];
print_r($result);
print_r($arrFiles);
foreach($arrFiles as $oldname){
if(is_file($oldname)){
for ($i=1;$i<40;$i++) {
// if(is_file($arrFiles)){
$newname =$result["xingming"]["$i"];
$oldname=$arrFiles["$i"];
echo $arrFiles["$i"];
rename("'./71/'.$oldname","'./71/'.$newname") ;
}
}
}
?>
可是运行后文件夹内文件名根本没有被修改,那么正确的代码应该是什么?谢谢。 展开
<?php
$conn=mysql_connect("localhost","root","123456") or die("服务器连接失败");
mysql_query('set names gb2312');
mysql_select_db("chengji",$conn);
echo '数据库连接成功';
$sql="select * from chuyi";
$query=mysql_query($sql,$conn);
$result=mysql_fetch_assoc($query);
//$result=mysql_result($query);
$arrFiles = scandir("abc");
echo $result['xingming'];
print_r($result);
print_r($arrFiles);
foreach($arrFiles as $oldname){
if(is_file($oldname)){
for ($i=1;$i<40;$i++) {
// if(is_file($arrFiles)){
$newname =$result["xingming"]["$i"];
$oldname=$arrFiles["$i"];
echo $arrFiles["$i"];
rename("'./71/'.$oldname","'./71/'.$newname") ;
}
}
}
?>
可是运行后文件夹内文件名根本没有被修改,那么正确的代码应该是什么?谢谢。 展开
2个回答
展开全部
你查出来的结果 $oldname和$newname 是什么东东,方便的话可以发出来一条。
rename需要有文件扩展名
例如rename("./71/1.txt","./71/2.txt") ;
如果不是文件扩展名的问题,那就是你的路径有问题了。
如果上面的原因都不是,那再有可能就是你的权限问题了,不能修改71下的文件。
rename需要有文件扩展名
例如rename("./71/1.txt","./71/2.txt") ;
如果不是文件扩展名的问题,那就是你的路径有问题了。
如果上面的原因都不是,那再有可能就是你的权限问题了,不能修改71下的文件。
更多追问追答
追问
$oldname可以显示abc目录下的各文件名,用print_r($arrFiles);
可以显示出来,但是$newname不能正确显示。怎么办?
追答
如果不是扩展名的问题 。
你的程序我没看懂为什么要这么写。不过你说的$newname不能正确显示是因为你的变量加引号了。
$newname =$result["xingming"][$i]; --$i去掉引号
$oldname=$arrFiles[$i];
echo $arrFiles[$i];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-05
展开全部
貌似很难实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询