重命名文件夹中的所有文件
rename all the files in a folder
我一直在尝试重命名我网站上文件夹中的所有文件(图像),但它不起作用。文件未重命名。
我有一个 'name' 的输入字段,我想使用该名称,添加一个 uniqid 并重命名所有文件。
这是我正在使用的代码:
<?php
if(isset($_POST['submit2'])){
$name = $_POST['name'];
$directory = glob("../basic_images/*.*");
{
if ($file != "." && $file != "..") {
$newName = uniqid().$name;
rename($directory.$file, $directory.$newName);
}}}
?>
此外,我真的需要发布 $name 变量吗?
P.S。我想重命名所有文件,然后将它们复制到另一个文件夹。
你不需要 POST name
glob
是 return 文件夹中的每个文件,路径为 // example /basic_images/test.jpg
然后您只需 foreach
循环文件,并更新其名称。
$path = "../basic_images/";
$directory = glob($path,"*.*");
foreach($directory as $file){
$ext = pathinfo($file, PATHINFO_EXTENSION);
$newName = uniqid().$ext;
rename($file, $path.$newName);
}
阅读更多关于 glob
的信息:http://php.net/manual/en/function.glob.php
所以,我终于解决了这个问题。现在,我不是重命名原始文件然后将它们复制到另一个文件夹,而是使用新名称创建文件的新副本。
这是适合我的最终代码:
if(isset($_POST['submit'])){
$path = "../posts_images/";
$files = glob("../basic_images/*.*");
foreach($files as $file){
$ext = pathinfo($file, PATHINFO_EXTENSION);
$name = $_POST['new_name'];
$pic = uniqid().$name;
$newName = $pic.'.'.$ext;
copy($file, $path.$newName);
}}
使用 $pic.'.'.$ext
很重要,因为没有它新文件没有任何扩展名。
我一直在尝试重命名我网站上文件夹中的所有文件(图像),但它不起作用。文件未重命名。
我有一个 'name' 的输入字段,我想使用该名称,添加一个 uniqid 并重命名所有文件。 这是我正在使用的代码:
<?php
if(isset($_POST['submit2'])){
$name = $_POST['name'];
$directory = glob("../basic_images/*.*");
{
if ($file != "." && $file != "..") {
$newName = uniqid().$name;
rename($directory.$file, $directory.$newName);
}}}
?>
此外,我真的需要发布 $name 变量吗?
P.S。我想重命名所有文件,然后将它们复制到另一个文件夹。
你不需要 POST name
glob
是 return 文件夹中的每个文件,路径为 // example /basic_images/test.jpg
然后您只需 foreach
循环文件,并更新其名称。
$path = "../basic_images/";
$directory = glob($path,"*.*");
foreach($directory as $file){
$ext = pathinfo($file, PATHINFO_EXTENSION);
$newName = uniqid().$ext;
rename($file, $path.$newName);
}
阅读更多关于 glob
的信息:http://php.net/manual/en/function.glob.php
所以,我终于解决了这个问题。现在,我不是重命名原始文件然后将它们复制到另一个文件夹,而是使用新名称创建文件的新副本。
这是适合我的最终代码:
if(isset($_POST['submit'])){
$path = "../posts_images/";
$files = glob("../basic_images/*.*");
foreach($files as $file){
$ext = pathinfo($file, PATHINFO_EXTENSION);
$name = $_POST['new_name'];
$pic = uniqid().$name;
$newName = $pic.'.'.$ext;
copy($file, $path.$newName);
}}
使用 $pic.'.'.$ext
很重要,因为没有它新文件没有任何扩展名。