0

フォームにアップロード フィールドがあります。

このコードはform.phpにありました

<form id="photoform" name="photoform" method="post" onSubmit="return false" enctype="multipart/form-data">
                  <div id="upphotosection"></div>
                   <label>Upload photo</label>
                   <input name="uploadphoto" id="uploadphoto" type="file" />
                   <div class="innerformclear"></div>
                   <input id="hidden" value="" name="hidden" type="hidden" />
                   <label>&nbsp;</label>
                   <input name="upphoto_submit" id="upphoto_submit" type="submit" value="Submit"/>
                    <div style="clear:both;">&nbsp;</div>
                   <label>&nbsp;</label>
                   <div id="result_upphoto_submit"></div>
                   </form>

これはformaction.phpのコードです

header('content-type: application/json; charset=utf-8');
header("access-control-allow-origin: *");

include("../../../wp-load.php");
session_start();

    $err = '';
    $success = '';
    global $wpdb, $PasswordHash, $current_user, $user_ID;

    if($upphoto = $_FILES['uploadphoto']["name"] != '' ){
    $path = 'images/profilephotos/';    
    $upphoto = copyServiceImage($path,$_FILES['uploadphoto']) ;}

    $postid = 52;


############### Check Duplication
$sel_photo = "SELECT * FROM `pro_table` WHERE `post_id` = '".$postid."'";
$sel_res = mysql_query($sel_photo) ;
if(mysql_num_rows($sel_res) == 0){
$ins_photo = "Insert into pro_table (post_id,photo_photo,int_status) values ('$postid','$upphoto','0')";
$ins_res = mysql_query($ins_photo);
}
else{
$upd_photo = "Update pro_table set photo_photo = '$upphoto' ,int_status='0' where  post_id = '$postid' ";
$upd_res = mysql_query($upd_photo);
}


echo $_GET['callback'] . '('.json_encode("success").')';

これは、Java スクリプト ファイル内のコードです。

$(document).ready(function() {  
///////////// Submit action for upload photo        
    $("#upphoto_submit").click(function() {

        if(document.getElementById('uploadphoto').value == '' ){
            alert("Please upload Photo");
            document.getElementById('uploadphoto').focus();
            return false;
        }
        else {
            $('#result_upphoto_submit').html('<img src="http://www.test.com/test/uploads/2012/04/ajax-loader.gif" class="loader" align="absmiddle" />&nbsp;').fadeIn(); 
                var input_data = $('#photoform').serialize();
                $.ajax({
                type: "POST",
                url:  "http://www.test.com/test/themes/test/formaction.php",
                dataType: 'jsonp',
                data: input_data,
                success: function(msg){
                    $('#result_upphoto_submit').html('&nbsp;');
                    if(msg == 'success') {
                        msg = '<p class="success_custom">Photo successfully added.</p>';
                        $('<div>').html(msg).appendTo('div#upphotosection').hide().fadeIn('slow');
                    } else {

                        msg = ' Exists';
                        alert("Error in updation");

                    }

                }
                });
                return false;
        }       

        }); 
});

画像を参照して送信をクリックすると、成功メッセージが表示されPhoto successfully addedました。しかし、プロフィール写真フォルダには画像がなく、管理パネルにはデータが保存されていません。エラーを追跡できませんでした。どうすればそれを修正できますか?

4

1 に答える 1

0

にエラーはありますか?

$_FILES["uploadphoto"]["error"];

また、ワードプレスが画像を処理する方法もわかりませんが、ファイルの動きが恋しいです:

if ($_FILES["uploadphoto"]["error"] != UPLOAD_ERR_OK) {
   $tmp_name = $_FILES["uploadphoto"]["tmp_name"];
   $name = $_FILES["pictures"]["name"];
   $path = "images/profilephotos/".$name;
   move_uploaded_file($tmp_name,$path);
}

それともここで呼ばれていると思いますか?

$upphoto = copyServiceImage($path,$_FILES['uploadphoto']) ;}
于 2012-05-28T12:28:54.880 に答える