Загрузить отчет об ошибках HTTP 404, даже если загрузка прошла успешно - PullRequest
0 голосов
/ 17 октября 2011

Я интегрировал jQuery Uploadify в свой плагин WordPress для нескольких загрузок файлов. Форма загрузки Flash сгенерирована нормально, и я могу выбрать файлы и начать загрузку. Uploadify сообщает об «ошибке HTTP» для всех попыток файлов. Используя onError () я вижу, что это ошибка 404.

Странно то, что загрузка файла успешно обрабатывается. Новый файл появляется в моей папке загрузки, и создается запись базы данных. Итак, почему 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 должно было повлиять на вывод. Решение для меня было включить по-другому.

Я удалил включение в верхней части моего обработчика PHP и заменил его на:

<?php

@require_once('../../../wp-config.php'); // Pull in WP config elements
@require_once('../../../wp-includes/wp-db.php'); // Pull in WP DB functions

1 Ответ

1 голос
/ 18 октября 2011

После дальнейшего исследования я смог заставить все работать. Включение wp-blog-header.php должно было повлиять на вывод. Решение для меня было включить по-другому.

Я удалил включение в верхней части моего обработчика PHP и заменил его на:

<?php

@require_once('../../../wp-config.php'); // Pull in WP config elements
@require_once('../../../wp-includes/wp-db.php'); // Pull in WP DB functions
...