如果媒体上传目录中存在相同的文件名,就在文件名末尾添加数字。

3
 $uploaddir  = wp_upload_dir();
 $file       = $_FILES['panpdf'];
 $uploadfile = $uploaddir['path'] . '/' . basename($file['name']);

 move_uploaded_file($file['tmp_name'], $uploadfile);
 $filename    = basename($uploadfile);
 $wp_filetype = wp_check_filetype(basename($filename), null);
 $attachment  = array(
                   'post_mime_type' => $wp_filetype['type'],
                   'post_title' => preg_replace('/\.[^.]+$/', '', $filename),
                    'post_content' => '',
                    'post_status' => 'inherit',
                    'menu_order' => $_i + 1000
                                );
 $update_img  = wp_insert_attachment($attachment, $uploadfile);

这段代码可以正常工作并上传文件,但会出现重复上传的问题。如果文件名已经存在于上传目录中,我想在文件名结尾添加一个数字。请帮助我实现这个功能,谢谢!
1个回答

5
将时间戳附加到您的文件名中,如下所示 -
$dateTime = new DateTime('now', new DateTimeZone('Asia/Kolkata'));  
$fileName = $file['name']."_".$dateTime;

然后传递这个文件名。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接