2011-09-17 6 views
0

Pluploadでアップロードしたファイルのファイル名を保存しようとすると、問題が発生します。ここでPluploadセクションです:データベースへのファイル名をpluploadする

echo<<<_END 
    <div id="container"> 
    <div id="filelist">No runtime found.</div> 
    <br /> 
    <a id="pickfiles" href="javascript:;">[Select file]</a> 
    <a id="uploadfiles" href="javascript:;">[Upload it]</a> 
    </div> 

    <script type="text/javascript"> 
    // Custom example logic 
    function $(id) { 
     return document.getElementById(id); 
    } 

    var uploader = new plupload.Uploader({ 
    runtimes : 'gears,html5,flash,silverlight,browserplus',browse_button : 'pickfiles',container: 'container',max_file_size : '1mb', 
    url : 'upload.php', 
    resize : {width : 320, height : 240, quality : 90}, 
    flash_swf_url : 'plupload/js/plupload.flash.swf', 
    silverlight_xap_url : 'plupload/js/plupload.silverlight.xap', 
    filters : [{title : "Image files", extensions : "jpg,jpeg,gif,png"}] 
    }); 

    uploader.bind('Init', function(up, params) { 
    $('filelist').innerHTML = "<div>Current runtime: " + params.runtime + "</div>"; 
    }); 

    uploader.bind('FilesAdded', function(up, files) { 
    for (var i in files) { 
     $('filelist').innerHTML += '<div id="' + files[i].id + '">' + files[i].name  + ' (' + plupload.formatSize(files[i].size) + ') <b></b></div>'; 
    }}); 

    uploader.bind('UploadProgress', function(up, file) { 
    $(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "% </span>"; 
    }); 

    $('uploadfiles').onclick = function() { 
    uploader.start(); 
    return false; 
    }; 

    uploader.init(); 
</script> 
_END; 

しかし、私はどのように自分のデータベースにファイル名を挿入するには見当がつかない:

$post_img = file?? 

$topicid = mysql_insert_id(); 
$sql = "INSERT INTO 
    posts(post_content, 
    post_date, 
    post_topic, 
    post_by, 
    post_img 
) 
    VALUES 
    (
    '" . mysql_real_escape_string($_POST['post_content']) . "', 
    NOW(), 
    " . $topicid . ", 
    " . $_SESSION['userid'] . ", 
    " . $post_img . ")"; 
    $result = mysql_query($sql); 

    if(!$result) { 
    //something went wrong, display the error 
    echo 'An error occured while inserting your post. Please try again later.<br /><br />' . mysql_error(); 
    $sql = "ROLLBACK;"; 
    $result = mysql_query($sql); 
    } 

は、私はあなたのポストを挿入中にエラーが発生したエラー」取得しています。後でもう一度お試しください '

+0

何mysql_error()またはにmysql_errno()の戻りより良い作品を手伝ってくれましたか? –

+0

列の数が行1の値の数と一致しません。値を$ _FILES ['$ fileName']に変更しましたが、同じ問題が残ります。ありがとう – cbarg

+0

しかし、とにかく、私がインサートからpost_imgを取り出した場合は、変数$ post_img = $ _FILES ['$ fileName']を作成します。エコー$ post_imgを後で実行しても出力は得られません。 -/ – cbarg

答えて

2

mysqlクエリをupload.phpファイルに入れました。 私は実際にそのファイルをどこに置くのかはわかりませんが、upload.phpファイルの最後に「ファイルがアップロードされたかどうかを確認する」の部分にあると思います。

if (!$chunks || $chunk == $chunks - 1) { 

// Strip the temp .part suffix off 
rename("{$filePath}.part", $filePath); 

    //your mysql query here************************** 
} 

アップロードされたファイルから残っチャンクが存在する場合、それはチェックしているので、私はそれがここにできると思います理由は、あります。それが残っていなければ、ifの文の中にいます。 upload.phpはアップロードされたすべてのファイルに対してforeachを実行するので、$fileNameをデータベースに格納するだけです。

私のために働く。希望を助けること

+0

それは私を助けた:) – Naeem

0

muchos gracias Mike。それは

if (!$chunks || $chunk == $chunks - 1) {

if($chunk==1){

関連する問題