我已将jQuery Uploadify集成到我的WordPress插件中,用于多个文件上传。 Flash上传表单生成正常,我可以选择文件并开始上传。 Uploadify报告所有尝试的文件的“HTTP错误”。使用onError()我看到它是错误404。
奇怪的是,文件上传IS已成功处理。新文件出现在我的uploads文件夹中,并创建了一个数据库记录。那么,为什么Uploadify报告失败?
非常感谢任何帮助。
以下是我正在使用的代码:
Uploadify JS
$(document).ready(function() {
$('#file_upload').uploadify({
'scriptData': {'sid': '{$_REQUEST['gallery_uid']}'},
'uploader' : '{$plugin_url}upif/uploadify.swf',
'script' : '{$plugin_url}upif.php',
'cancelImg' : '{$plugin_url}upif/cancel.png',
'auto' : true,
'multi' : true,
'simUploadLimit' : 3,
'fileExt' : '*.jpg;*.gif;*.png;*.zip',
'fileDesc' : 'Image Files'
});
});
上传文件处理程序PHP
<?php
@require_once('../../../wp-blog-header.php'); // Pull in WP functions in order to write to DB
$uid = $_REQUEST['sid']; // Assigned Gallery UID
if (!empty($_FILES)) {
$file_temp = $_FILES['Filedata']['tmp_name'];
$file_orig = basename( $_FILES['Filedata']['name'] ) ;
$exts = explode( '.', $file_orig );
$file_ext = strtolower('.' . $exts[count($exts)-1]);
$file_save = $uid . '_' . date('ymd') . time() . $exts[0] . $file_ext;
$upload_dir = wp_upload_dir();
$target_path = $upload_dir['path'] . '/' . $file_save;
move_uploaded_file( $file_temp, $target_path ); // Move the file to WP's "uploads" path, using generated name
$insert = array(
'guid'=> $uid,
'path'=> $file_save,
'sort_order'=> '0',
'date_created' => date('Y-m-d H:i:s')
);
$wpdb->insert( $wpdb->prefix . 'images', $insert ); // Create DB record
echo '1'; // Success
}
已解决:经过进一步探索,我能够让事情顺利进行。 wp-blog-header.php include必须影响输出。我的解决方案是以不同的方式包含。
我删除了PHP处理程序顶部的include,并将其替换为:
<?php
@require_once('../../../wp-config.php'); // Pull in WP config elements
@require_once('../../../wp-includes/wp-db.php'); // Pull in WP DB functions
答案 0 :(得分:1)
经过进一步的探索,我能够让事情顺利进行。 wp-blog-header.php include必须影响输出。我的解决方案是以不同的方式包含。
我删除了PHP处理程序顶部的include,并将其替换为:
<?php
@require_once('../../../wp-config.php'); // Pull in WP config elements
@require_once('../../../wp-includes/wp-db.php'); // Pull in WP DB functions