【发布时间】:2016-05-20 06:43:11
【问题描述】:
我有一个使用 PHP 和 PHP 函数的自定义填写表单的自定义页面模板,用户可以输入他们的基本信息并上传文件。该文件将直接上传到文件系统中。
现在,我要重命名文件取决于用户的姓氏和名字,例如这个 lastname_firstname。而且,我想将上传文件保存在 wp-content 之外(比如说我的桌面或 wp-content 之外的文件夹),并限制用户可以上传什么类型的文件。如何实现这些?
这里是 PHP sn -p 如何在文件系统中上传文件
function upload_user_file($file = array()){
require_once(ABSPATH . 'wp-admin/includes/admin.php');
$file_return = wp_handle_upload($file, array('test_form' => false));
if(isset($file_return['error']) || isset($file_return['upload_error_handler'])){
return false;
} else {
$filename = $file_return['file'];
$attachment = array(
'post_mime_type' => $file_return['type'],
'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
'post_content' => '',
'post_status' => 'inherit',
'guid' => $file_return['url']
);
$attachment_id = wp_insert_attachment($attachment, $file_return['url']);
require_once(ABSPATH . 'wp-admin/includes/file.php');
$attachment_data = wp_generate_attachment_metadata($attachment_id, $filename);
wp_update_attachment_metadata($attachment_id, $attachment_data);
if(0 < intval($attachment_id)){
return $attachment_id;
}
}
return false;
}
【问题讨论】:
-
上传后使用
move_uploaded_file()。
标签: php wordpress file filepath custom-wordpress-pages