我正在开发自定义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']));
是否还需要添加其他内容以便这样做?
答案 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" />