PHP 在 wordpress 中上传问题,出现错误 0 但图像未上传到我的文件夹
PHP Uploading issue in wordpress, Getting Error 0 but image is not uploaded to my folder
PHP wordpress 插件上传问题,出现错误 0,但图片没有上传到我的文件夹。当我打印出 $_FILES 时,我得到
Array
(
[resume] => Array
(
[name] => ace PLACEMENTS big-.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpMOwvKP
[error] => 0
[size] => 155773
)
)
我在我的 wp-job manager 插件 -> job-application-email.php 文件中使用此代码。
html编码为:
<form action="" class="wppb-user-forms wppb-register-user" id="wppb-register-user" method="post" enctype="multipart/form-data">
<ul>
<li id="wppb-form-element-2" class="wppb-form-field wppb-default-username">
<label for="name">Name<span title="This field is required" class="wppb-required">*</span></label>
<input type="text" value="" id="name" maxlength="70" name="name" class="text-input default_field_username" required ></li>
<li id="wppb-form-element-7" class="wppb-form-field wppb-default-website">
<label for="phone">Phone</label>
<input type="text" value="" id="phone" maxlength="70" name="phone" class="text-input default_field_website" required>
<span class="wppb-description-delimiter">phone number</span></li>
<li id="wppb-form-element-8" class="wppb-form-field wppb-default-e-mail">
<label for="email">E-mail<span title="This field is required" class="wppb-required">*</span></label>
<input type="email" id="email" maxlength="70" name="email" class="text-input default_field_email" placeholder="Email" required></li>
<li id="wppb-form-element-15" class="wppb-form-field wppb-default-nickname">
<label for="nickname">Resume</label>
<input type="file" name="resume">
<span class="wppb-description-delimiter">qualification</span></li></ul>
<input type="submit" value="submit">
</form>
php编码为:
<?php
$tmp = $_FILES['resume']['tmp_name'];
$extension = explode(".", $_FILES['resume']['name']);
$everything = count($extension);
$ext = $extension[$everything - 1];
$newName = uniqid().time().".".$ext;
$curl = get_site_url()."/uploads";
if(move_uploaded_file($tmp, $curl."/".$newName))
{
echo "successfully uploaded";
}
else {
echo "not uploaded";
}
?>
这是一种自调试方式
这个错误主要有2个原因。这个时候你就要看下面的步骤自己修复了。
- 确保您有足够的权限为您的文件夹上传图片
/uploads
注意:您可以拥有 755 权限
- 确保 table
wp_options
中 upload_path
的值与 wp-content/uploads
相同。 (如果不更新)
注意:您也可以在 Settings>Media
更新它
因为我正在使用 wordpress,所以我从一个 wordpress 页面中找到了这段代码
代码如下:
if ( ! function_exists( 'wp_handle_upload' ) ) {
require_once( ABSPATH . 'wp-admin/includes/file.php' );
}
$uploadedfile = $_FILES['resume'];
$upload_overrides = array( 'test_form' => false );
$movefile = wp_handle_upload( $uploadedfile, $upload_overrides );
if ( $movefile && !isset( $movefile['error'] ) ) {
echo "File is valid, and was successfully uploaded.\n";
//var_dump( $movefile);
//If you want to see details of your uploaded file uncomment the above line
} else {
/**
* Error generated by _wp_handle_upload()
* @see _wp_handle_upload() in wp-admin/includes/file.php
*/
echo $movefile['error'];
}
不要删除这个 "$upload_overrides = array( 'test_form' => false );"从上面的代码,因为它不会工作。
PHP wordpress 插件上传问题,出现错误 0,但图片没有上传到我的文件夹。当我打印出 $_FILES 时,我得到
Array
(
[resume] => Array
(
[name] => ace PLACEMENTS big-.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpMOwvKP
[error] => 0
[size] => 155773
)
)
我在我的 wp-job manager 插件 -> job-application-email.php 文件中使用此代码。
html编码为:
<form action="" class="wppb-user-forms wppb-register-user" id="wppb-register-user" method="post" enctype="multipart/form-data">
<ul>
<li id="wppb-form-element-2" class="wppb-form-field wppb-default-username">
<label for="name">Name<span title="This field is required" class="wppb-required">*</span></label>
<input type="text" value="" id="name" maxlength="70" name="name" class="text-input default_field_username" required ></li>
<li id="wppb-form-element-7" class="wppb-form-field wppb-default-website">
<label for="phone">Phone</label>
<input type="text" value="" id="phone" maxlength="70" name="phone" class="text-input default_field_website" required>
<span class="wppb-description-delimiter">phone number</span></li>
<li id="wppb-form-element-8" class="wppb-form-field wppb-default-e-mail">
<label for="email">E-mail<span title="This field is required" class="wppb-required">*</span></label>
<input type="email" id="email" maxlength="70" name="email" class="text-input default_field_email" placeholder="Email" required></li>
<li id="wppb-form-element-15" class="wppb-form-field wppb-default-nickname">
<label for="nickname">Resume</label>
<input type="file" name="resume">
<span class="wppb-description-delimiter">qualification</span></li></ul>
<input type="submit" value="submit">
</form>
php编码为:
<?php
$tmp = $_FILES['resume']['tmp_name'];
$extension = explode(".", $_FILES['resume']['name']);
$everything = count($extension);
$ext = $extension[$everything - 1];
$newName = uniqid().time().".".$ext;
$curl = get_site_url()."/uploads";
if(move_uploaded_file($tmp, $curl."/".$newName))
{
echo "successfully uploaded";
}
else {
echo "not uploaded";
}
?>
这是一种自调试方式
这个错误主要有2个原因。这个时候你就要看下面的步骤自己修复了。
- 确保您有足够的权限为您的文件夹上传图片
/uploads
注意:您可以拥有 755 权限
- 确保 table
wp_options
中upload_path
的值与wp-content/uploads
相同。 (如果不更新)
注意:您也可以在 Settings>Media
因为我正在使用 wordpress,所以我从一个 wordpress 页面中找到了这段代码
代码如下:
if ( ! function_exists( 'wp_handle_upload' ) ) {
require_once( ABSPATH . 'wp-admin/includes/file.php' );
}
$uploadedfile = $_FILES['resume'];
$upload_overrides = array( 'test_form' => false );
$movefile = wp_handle_upload( $uploadedfile, $upload_overrides );
if ( $movefile && !isset( $movefile['error'] ) ) {
echo "File is valid, and was successfully uploaded.\n";
//var_dump( $movefile);
//If you want to see details of your uploaded file uncomment the above line
} else {
/**
* Error generated by _wp_handle_upload()
* @see _wp_handle_upload() in wp-admin/includes/file.php
*/
echo $movefile['error'];
}
不要删除这个 "$upload_overrides = array( 'test_form' => false );"从上面的代码,因为它不会工作。