2012-02-28 1 views
0

Я использую uploadify для загрузки файлов с PHP 5.3.3 и сервером Apache 2.2.16. * Все файлы с изображениями, которые я использую, являются небольшими < 1MЗагрузка файла нарушена

Интересно, что некоторые файлы изображений, загружаемые, прекрасно работают и загружают файл изображения правильно. Однако для других загружаются только 8 байт, что странно. Я не уверен, почему загруженный файл не завершен.

Uploadify как-то говорит, что файл успешно загружен на 100%, и я тоже использую функцию onError.

Любая помощь в том, как найти проблему, была бы очень полезной.

Uploadify код:

$('#change_thumb_file').uploadify({ 
'hideButton' : true, 
'wmode'  : 'transparent', 
'folder'  : VG.PROJECT_ROOT + '/static/apps/vialogues', 
    'uploader' : VG.SITE_STATIC_URL+'uploadify/scripts/uploadify.swf', 
    'script'  : VG.APPS_STATIC_URL+"vialogues/php/uploadify.php", 
    'buttonText' : 'Select an image', 
    'cancelImg' : VG.SITE_STATIC_URL+'uploadify/cancel.png', 
    'auto'  : true, 
    'sizeLimit' : 5242880, 
    'queueID'  : 'fileQueue', 
    'scriptAccess': 'always', 
    'method'  : 'POST', 
    'queueSizeLimit' : 1, 
    'width'  : '100', 
    'height'  : '30', 
    'fileDesc' : 'images', 
    'fileExt'  : '*.jpg;*.jpeg;*.png;*.bmp;*.gif', 
    'wmode'  : 'transparent', 
    'altContent' : '<div id="flash_notice">Flash player version 10.0.0 or above is required to upload a video. Please click the icon below to download Flash player.\ 
      <br /><a href="https://www.adobe.com/go/getflashplayer">\ 
      &nbsp;<img src="' + VG.SITE_STATIC_URL + 'uploadify/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33">\ 
      </a>\ 
      </div>', 
    'onComplete' : function (event, queueID, fileObj, response, data){ 
     preview_uri = response.replace(VG.PROJECT_ROOT, ''); 
     $.ajax({ 
      url:VG.SITE_URL + 'vialogues/api/crop_thumbnail', 
      type:'PUT', 
      data: {'img': preview_uri}, 
      success: function(data){ 
       $('#thumb_preview').empty().append('<img src="'+preview_uri+'" />'); 
      }, 
      failure: function() {alert("There was an unexpected error. Please try again."); window.location.reload()}, 
     }); 
     $('#step_two').fadeIn(); 
    },    
    'onError' : function(event, queueID, fileObj, errorObj) { 
       var errMsg = "There was an error uploading ... \n"; 
       errMsg += "Error type: " + errorObj.type + "\n"; 
       errMsg += "Error Info: " + errorObj.info + "\n"; 
       alert(errMsg); 
      } 
}); 

код, который делает загрузку файлов (uploadify.php):

if (!empty($_FILES)) { 
$tempFile = $_FILES['Filedata']['tmp_name']; 
$targetPath = $_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)) { 

    $result = move_uploaded_file($tempFile,$targetFile); 
    if ($result) { 
     echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile);   
    } 
    else { 
     echo 'Upload Failed'; 
    } 
} else { 
    echo 'Invalid file type.'; 
} 

}

+0

Пожалуйста, поставьте свой вопрос с кодом, чтобы проверить его, чтобы мы могли вам помочь. С уважением –

+0

включил код ... но я не думаю, что проблема связана с кодом. Я чувствую, что где-то загружается файл, я не уверен, как я могу понять, где он. – user504879

+1

Что-нибудь в ваших журналах ошибок Apache? Кроме того, во время загрузки происходит проверка содержимого '/ tmp' (при условии, что ваш сервер работает под управлением Linux) и посмотрите, растет ли PHP-файл temp по мере отправки вашей отправки. – Crontab

ответ

0

Так что вопрос, что происходит в связи с проблемой прав доступа. Обходной путь я сделал, чтобы создать отдельную папку в корневом каталоге и предоставить ему явные разрешения пользователю www-data, под которым выполняется apache. Как-то move_uploaded_file не выбрасывал никаких ошибок для разрешения.

Смежные вопросы