Wordpress用户图像上传


Wordpress user image upload

我正在开发自定义Wordpress会员网站。我已经为用户创建了用于注册和登录的插件,但我仍然坚持用户上传个人资料图像的选项。

这是我上传图像的表单,还有一些其他输入:

    <p class="form-row">
      <input type="file" name="wp_custom_attachment"id="wp_custom_attachment" size="50" />
    </p>

现在在我的脚本上,我有一个公共函数,它将从输入中获取数据。我使用wp_upload_bits函数:

$upload = wp_upload_bits($_FILES['wp_custom_attachment']['name'], null, @file_get_contents($_FILES['wp_custom_attachment']['tmp_name']));

是否还有其他需要添加的内容,以使其发挥作用?

只有当您的<表单>元素具有正确的编码集并使用POST:

<form enctype="multipart/form-data" action="upload.php" method="POST">

PHP的默认文件上传最大限制为2MB

您还可能遇到服务器端文件大小限制。编辑php.ini:

; Maximum allowed size for uploaded files.
upload_max_filesize = 64M
; Must be greater than or equal to upload_max_filesize
post_max_size = 64M

如果您使用的是ApacheWeb服务器,您可以在与脚本相同的目录中创建一个名为.htaccess的文件:

php_value upload_max_filesize 64M
php_value post_max_size 64M

您也可以将其放在处理上传的PHP文件中:

ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');

您需要在对象的名称和ID之间添加一个空格,否则在使用Chrome、Safari或Firefox以外的任何浏览器时,上传都将无法正常工作:(文件上传需要name属性)

<input type="file" name="wp_custom_attachment"id="wp_custom_attachment" size="50" />

更改为:

<input type="file" name="wp_custom_attachment" id="wp_custom_attachment" size="50" />