我已经差不多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.`
答案 0 :(得分:0)
谢谢大家。似乎没有人想回答所以我必须拼命为我找到答案。
好的,我保存文件后,从文件uploadify.php,如果文件上传成功,我返回$newTargetFile
,使用uploadify的onUploadSuccess事件,我可以显示值$newTargetFile
,即上传文件的路径。然后我将其指定为隐藏<input value="$newTargetFile" />
的值,因此当发布帖子时,该隐藏输入的数据将作为postmeta数据发布。 :)