int
  • 0
Новичок

Проблема с внедрением Uploadify в WordPress

  • 0

Попытка заставить Uploadify работать вместе с WordPress. Я внедрил код из документации в метабокс в админке WordPress.

Я могу «выбрать файл» и загрузить его, и Uploadify покажет прогресс, но когда я проверяю папку назначения, она пуста. В папке есть chmod 777, поэтому я не понимаю, что может быть не так.

Вся помощь приветствуется.

<link href="<?php echo get_stylesheet_directory_uri() ?>/uploadify/uploadify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="<?php echo get_stylesheet_directory_uri() ?>/uploadify/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="<?php echo get_stylesheet_directory_uri() ?>/uploadify/swfobject.js"></script>
<script type="text/javascript" src="<?php echo get_stylesheet_directory_uri() ?>/uploadify/jquery.uploadify.v2.1.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#file_upload').uploadify({
'uploader' : '<?php echo get_stylesheet_directory_uri() ?>/uploadify/uploadify.swf',
'script' : '<?php echo get_stylesheet_directory_uri() ?>/uploadify/uploadify.php',
'cancelImg' : '<?php echo get_stylesheet_directory_uri() ?>/uploadify/cancel.png',
'folder' : '<?php echo get_bloginfo('url') ?>/wp-content/uploads',
'auto' : true
});
});
</script>

<input id="file_upload" name="file_upload" type="file" />

Загрузить.php

<?php
/*
if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
    $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];

    // $fileTypes  = str_replace('*.','',$_REQUEST['fileext']);
    // $fileTypes  = str_replace(';','|',$fileTypes);
    // $typesArray = split('\|',$fileTypes);
    // $fileParts  = pathinfo($_FILES['Filedata']['name']);

    // if (in_array($fileParts['extension'],$typesArray)) {
        // Uncomment the following line if you want to make the directory if it doesn't exist
        // mkdir(str_replace('//','/',$targetPath), 0755, true);

        move_uploaded_file($tempFile,$targetFile);
        echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile);
    // } else {
    //  echo 'Invalid file type.';
    // }
}
?>
Share
  1. ваш uploadify.php находится внутри комментария, поэтому на самом деле он не сохраняет файл.

    измените его на это:

    <?php
    if (!empty($_FILES)) {
        $tempFile = $_FILES['Filedata']['tmp_name'];
        $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
        $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
    
        $fileTypes  = str_replace('*.','',$_REQUEST['fileext']);
        $fileTypes  = str_replace(';','|',$fileTypes);
        $typesArray = split('\|',$fileTypes);
        $fileParts  = pathinfo($_FILES['Filedata']['name']);
    
        if (in_array($fileParts['extension'],$typesArray)) {
            // Uncomment the following line if you want to make the directory if it doesn't exist
            // mkdir(str_replace('//','/',$targetPath), 0755, true);
    
            move_uploaded_file($tempFile,$targetFile);
            echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile);
        } else {
            echo 'Invalid file type.';
        }
    }
    ?>
    

    а также убедитесь, что вы проверяете тип файла, потому что у меня был взломанный сайт после того, как хакер загрузил скрипт оболочки php с помощью uploadify.

    • 0

Оставить ответ

You must login to add an answer.