2017-06-30 7 views
1

私は画像アップロードスクリプトのためにfiledrop.jsを使用しています。 私はここにスクリプトを提供しています:https://tutorialzine.com/2011/09/html5-file-upload-jquery-php Prjectは、ファイルにあるような情報をデータベースに保存するために変更したいfile_post.phpです。Filedrop.js no successメッセージ

これは私のpost_file.phpです:

<?php 

// If you want to ignore the uploaded files, 
// set $demo_mode to true; 

$demo_mode = false; 
$upload_dir = 'uploads/tmp/'; 
$allowed_ext = array('jpg','jpeg','png','gif'); 


if(strtolower($_SERVER['REQUEST_METHOD']) != 'post'){ 
    exit_status('Error! Wrong HTTP method!'); 
} 


if(array_key_exists('pic',$_FILES) && $_FILES['pic']['error'] == 0){ 

    $pic = $_FILES['pic']; 

    if(!in_array(get_extension($pic['name']),$allowed_ext)){ 
     exit_status('Only '.implode(',',$allowed_ext).' files are allowed!'); 
    } 

    if($demo_mode){ 

     // File uploads are ignored. We only log them. 

     $line = implode('  ', array(date('r'), $_SERVER['REMOTE_ADDR'], $pic['size'], $pic['name'])); 
     file_put_contents('log.txt', $line.PHP_EOL, FILE_APPEND); 

     exit_status('Uploads are ignored in demo mode.'); 
    } 


    // Move the uploaded file from the temporary 
    // directory to the uploads folder: 

    if(move_uploaded_file($pic['tmp_name'], $upload_dir.$pic['name'])){ 

     //My added code 

は( '/ var/www/htmlと設定/ボード/ SSI.php')が含ま;

$userName = $context['user']['name']; 
$content_id = $_COOKIE["contentid"]; 
$pic_name = $pic['name']; 
$pic_code = $content_id; 
$pic_path = $pic_name; 


$db_host = "******"; 
$db_name = "******"; 
$db_user = "******"; 
$db_pass = "******"; 

$db = mysqli_connect("$db_host","$db_user","$db_pass","$db_name") or die("Error " . mysqli_error($db)); 

$stmt = $db->prepare("INSERT INTO `User_pics` (content_id, path, user_id, user_name) VALUES (?, ?, ?, ?)"); 
$stmt->bind_param('ssss', $pic_code, 
$pic_path, 
$context['user']['id'], 
$context['user']['name']); 
$stmt->execute(); 
$stmt->close(); 

     //end of my added code 





     exit_status('File was uploaded successfuly!'); 
    } 

} 

exit_status('Something went wrong with your upload!'); 


// Helper functions 

function exit_status($str){ 
    echo json_encode(array('status'=>$str)); 
    exit; 
} 

function get_extension($file_name){ 
    $ext = explode('.', $file_name); 
    $ext = array_pop($ext); 
    return strtolower($ext); 
} 
?> 

私がmysqliの部分を追加した後、成功メッセージはもう表示されません。 画像アップロードでプログレスバーが約50%で停止します。ファイルはアップロードされ、情報はDBに保存されますが、私は成功していません。これは次のステップを処理する必要があります。喜んで助けてください!おかげさまで 私はここで尋ねた後interrestsため

答えて

0

おかげで、私はsoulution foが働い 二日間は、私は答えを見つけました;)

問題は、UTF-8でエンコードされSSI.phpのincludeました。 これは、Jsonでコード化されたレスポンスでエラーが発生した原因です。

SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

私soulutionされました: 私は、ユーザーIDとユーザー名のCookieを作成したので、私は含める削除することができました。この後、すべてのことがうまくいく。誰かが同じエラーを抱えている場合は、アップロードフォームを表示している場所にクッキーを作成します。

コミュニティのおかげで素敵な日;)

関連する問題