Wordpress - 从前端将多个图像上传到图库

时间:2016-02-14 11:35:01

标签: php wordpress image gallery

我在wordpress页面模板的前端有一个表单。我希望用户提交他们的图像,这些图像应该自动插入到wordpress媒体库中。我已经尝试了所有内容并且正在插入附件,但上传文件夹中没有相应的图像,因此图像会出现404错误。

这是我的表格

<input type="file" name="gallery[]" id="gallery" multiple="true" accepts="image/*" data-rule-required="true" data-msg-required="Please attach at least one photograph">

以下是上传和获取图片附件的PHP代码:

    if(isset($_FILES['gallery']))
{    
  for($i=0; $i<count($_FILES['gallery']['name']); $i++) {
  //Get the temp file path
  $filename = $_FILES['gallery']['name'][$i];
    echo $filename;
  //Make sure we have a filepath
  if ($filename != ""){
      $filetype = wp_check_filetype( basename( $filename ), null );
      $wp_upload_dir = wp_upload_dir();
      //echo $filetype['type'];
      $attachment = array(
    'guid'           => $wp_upload_dir['url'] . '/' . basename( $filename ), 
    'post_mime_type' => $filetype['type'],
    'post_title'     => preg_replace( '/\.[^.]+$/', '', basename( $filename ) ),
    'post_content'   => '',
    'post_status'    => 'inherit'
    );
    $attachment_id = wp_insert_attachment( $attachment, $filename, $post_id );
    require_once( ABSPATH . 'wp-admin/includes/image.php' );
    $attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
    wp_update_attachment_metadata( $attach_id, $attach_data );  
    array_push($images,$attachment_id);
  }
}
}

我做错了什么。任何帮助将受到高度赞赏

艾哈迈尔

1 个答案:

答案 0 :(得分:0)

您是否检查过/ wp-content / uploads目录是否具有上传文件的必要权限? 尝试将权限设置为755