Wordpress用户图片上传

时间:2015-11-17 03:03:11

标签: php wordpress image

我正在开发自定义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']));

是否还需要添加其他内容以便这样做?

1 个答案:

答案 0 :(得分:1)

文件上传仅适用于您的&lt; form&gt; element具有正确的编码集并使用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

如果您正在使用Apache Web Server,则可以在与脚本相同的目录中创建名为.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" />