2017-06-23 22 views
0

Wordpressのファイル:私はこれがカスタムフォルダにファイルをアップロードする必要がチェックする他のエラーと一緒に、そして、私はこのプラグインイム作りを持っていると、ファイルのアップロードシステムに私はこの持ってアップロード

$mimes = array('image/jpeg','image/jpg','image/gif','image/png','application/pdf'); 
if(in_array($_FILES['attach']['type'], $mimes)){ 
    $error = 0; 
} 
else { 
    $error = 1; 
} 

if($error == 0) { 
    $folder = PLUGIN_DIR . '/uploads/'; 
    if(is_dir($folder)) { 
     $file = $_FILES["attach"]["tmp_name"]; 
     move_uploaded_file($file, $folder.date('Ymd').'_'.$name); 
    } 
} 

これは完全に機能します。私はそれをテストしましたが、これのようにするのは大丈夫ですか?それとももっと良い方法がありますか?

ありがとうございます!

答えて

1

私はあなたのポストへのリンクが必要ない場合は、より良い、このcodex.wordpress.org

<?php 
// We will check the protection of nonce and that the user can edit this post. 
if ( 
    isset($_POST['my_image_upload_nonce'], $_POST['post_id']) 
    && wp_verify_nonce($_POST['my_image_upload_nonce'], 'my_image_upload') 
    && current_user_can('edit_post', $_POST['post_id']) 
) { 
    // all OK! We continue. 
    // These files must be connected to the front end (front end). 
    require_once(ABSPATH . 'wp-admin/includes/image.php'); 
    require_once(ABSPATH . 'wp-admin/includes/file.php'); 
    require_once(ABSPATH . 'wp-admin/includes/media.php'); 

    // Let WordPress catch the download. 
    // Do not forget to specify the attribute name field input - 'my_image_upload' 
    $attachment_id = media_handle_upload('my_image_upload', $_POST['post_id']); 

    if (is_wp_error($attachment_id)) { 
     echo "Error loading media file."; 
    } else { 
     echo "The media file has been successfully uploaded!"; 
    } 

} else { 
    echo "Verification failed. Unable to load file."; 
} 
?> 
+0

を使用すると思う:$ _POST [ 'post_idの'] = 0; –

+0

tks @ to.shi。質問があります。このアップロードファイルはwordpressのuploadsディレクトリにはありませんか?私はカスタムフォルダにファイルをアップロードするのを探していました。 – eskimopest

+0

申し訳ありませんが、私は間違っていました。その場合、すべてが問題ありません。 =) –

関連する問題