首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

上载前更改$_FILES文件名(到wordpress媒体库)

上载前更改$_FILES文件名(到WordPress媒体库)

在WordPress中,当用户通过表单上传文件时,文件会被存储在服务器的临时目录中,并通过$_FILES数组传递给后端处理。如果你想在将文件保存到WordPress媒体库之前更改文件名,可以通过以下步骤实现:

  1. 获取上传文件的原始文件名和文件扩展名:$originalFileName = $_FILES['file']['name']; $fileExtension = pathinfo($originalFileName, PATHINFO_EXTENSION);
  2. 生成新的文件名:$newFileName = 'prefix_' . uniqid() . '.' . $fileExtension; // 这里使用了一个前缀和唯一ID来生成新的文件名,你可以根据需求自定义生成规则。
  3. 将文件从临时目录移动到WordPress媒体库:$tempFilePath = $_FILES['file']['tmp_name']; $destinationFilePath = wp_upload_dir()['path'] . '/' . $newFileName; move_uploaded_file($tempFilePath, $destinationFilePath);

这里使用了wp_upload_dir()函数获取WordPress媒体库的路径,并将新的文件名拼接到路径中,然后使用move_uploaded_file()函数将文件从临时目录移动到目标路径。

  1. 将文件信息插入WordPress媒体库:$attachment = array( 'guid' => wp_upload_dir()['url'] . '/' . $newFileName, 'post_mime_type' => $_FILES['file']['type'], 'post_title' => $newFileName, 'post_content' => '', 'post_status' => 'inherit' ); $attachmentId = wp_insert_attachment($attachment, $destinationFilePath);

这里使用了wp_insert_attachment()函数将文件信息插入WordPress媒体库,并返回附件的ID。

  1. 生成缩略图(可选):$attachmentData = wp_generate_attachment_metadata($attachmentId, $destinationFilePath); wp_update_attachment_metadata($attachmentId, $attachmentData);

如果你需要为上传的图片生成缩略图,可以使用wp_generate_attachment_metadata()函数生成缩略图的元数据,并使用wp_update_attachment_metadata()函数更新附件的元数据。

这样,你就可以在上传文件到WordPress媒体库之前更改文件名了。请注意,这只是一个示例,你可以根据实际需求进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券