上传完成后如何使用uploadify保存上传文件的路径?

时间:2012-07-19 00:33:33

标签: wordpress-plugin uploadify

我已经差不多2个小时在stackoverflow上浏览这些答案了。我已经设法通过阅读这里的一些答案使我的文件上传功能很好。但这次不能帮助。我真的需要询问如何在上传后保存上传文件的路径。看,我在wordpress插件中使用uploadify。我所做的是将上传的文件(确切地说是.pdf)保存到我的目录中的特定文件夹。然后我想要的是在发布帖子时保存保存文件的路径。所以从技术上讲,在上传之后,我希望在帖子中的某处有上传文件的路径,这样当我发布帖子时,路径也会保存在数据库中。这甚至可能吗?

这是我的插件中的代码段,

/* Displays the box content which is the dropdown list of Funds */
function wnm_pengana_investor_upload_investor_box( $post ) {
    /* Use nonce for verification */
    wp_nonce_field( plugin_basename( __FILE__ ), 'wnm_pengana_funds_noncename' );

    echo        '<p class="uploadify_container">';
    echo            '<label style="margin-left: 15px;" for="investor_file_upload">Upload one or more files at once.</label>';
    echo            '<input type="file" name="investor_file_upload" id="investor_file_upload" />';
    echo        '</p>';
}

/* When the post is saved, saves our custom data */
function wnm_pengana_save_investor_upload_box( $post_id ) {
    /*verify if this is an auto save routine. If it is our form has not been submitted, so we dont want to do anything */
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) 
    return;

    /* verify this came from the our screen and with proper authorization,because save_post can be triggered at other times */
    if ( !wp_verify_nonce( isset($_POST['wnm_pengana_funds_noncename']), plugin_basename( __FILE__ ) ) )
    return;

    // Check permissions
    if ( 'page' == $_POST['post_type'] ) {
        if ( !current_user_can( 'edit_page', $post_id ) )
            return;
    } else {
        if ( !current_user_can( 'edit_post', $post_id ) )
        return;
    }

    // OK, we're authenticated: we need to find and save the data
    $mydata = $_POST['investor_file_upload'];


    update_post_meta($post_id, 'uploaded_forms_path', $mydata);
}

目前,发布后,postmeta uploaded_forms_path将添加到postmeta表中,但它是空的。我想我需要在`echo '<input type="file" name="investor_file_upload" id="investor_file_upload" />';之后放一些东西 可悲的是,我不知道我要放什么。谁能帮我? Thanks.`

1 个答案:

答案 0 :(得分:0)

谢谢大家。似乎没有人想回答所以我必须拼命为我找到答案。

好的,我保存文件后,从文件uploadify.php,如果文件上传成功,我返回$newTargetFile,使用uploadify的onUploadSuccess事件,我可以显示值$newTargetFile,即上传文件的路径。然后我将其指定为隐藏<input value="$newTargetFile" />的值,因此当发布帖子时,该隐藏输入的数据将作为postmeta数据发布。 :)