如何用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") ;
}
}
}
?>
可是运行后文件夹内文件名根本没有被修改,那么正确的代码应该是什么?谢谢。
展开
 我来答
大庞说故事
2014-03-05 · 正八经儿的讲故事!
大庞说故事
采纳数:123 获赞数:313

向TA提问 私信TA
展开全部
你查出来的结果 $oldname和$newname 是什么东东,方便的话可以发出来一条。
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
展开全部
貌似很难实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式