2013-03-18 72 views
1

我有一个使用代码点火器,prototype.js和swfUpload来管理大型视频文件的继承项目。我遇到了上传大型视频文件时感到窒息的问题。SWFUpload显示没有错误,但没有上传大型视频文件

我已成功上传较小的文件(〜198mb mpg文件& 3mb mov文件),但在调试上传1.57 GB mov文件时遇到问题。

在我的本地机器上传完成上传〜1分钟,成功返回。但是当我去到文件应该存在的上传文件夹(以及小文件成功上传的地方)时,它就会丢失。

我的错误日志中没有错误。

在我的.htaccess文件我设置:

php_value upload_max_filesize 6143M 
php_value post_max_size 6143M 

我确认这是通过调用ini_get()

这是我的SWFUpload对象的工作:

swfu = new SWFUpload({ 
    debug: true, 
    upload_url: '" . BASE_URL . "/content_management/ajax_asset_upload_files', 
    flash_url: '" . BASE_URL . "/js/swfupload/Flash/swfupload.swf', 

    post_params: {'PHPSESSID' : '" . $this->session->userdata('session_id') . "'}, 
    file_size_limit : '10000 MB', 
    file_types : '*.*', 
    file_types_description : 'All Files', 
    file_upload_limit : 100, 
    file_queue_limit : 0, 
    custom_settings : { 
     progressTarget : 'fsUploadProgress' 
    }, 

    // Button settings 
    button_image_url: '" . BASE_URL . "/images/buttons/btn_select_file.gif', 
    button_width: '105', 
    button_window_mode: 'transparent', 
    button_height: '20', 
    button_placeholder_id: 'spanButtonPlaceHolder', 
    button_disabled: true, 
    button_cursor: SWFUpload.CURSOR.HAND, 
    button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE, 

    // The event handler functions are defined in handlers.js 
    file_queued_handler : fileQueued, 
    file_queue_error_handler : fileQueueError, 
    file_dialog_complete_handler : fileDialogComplete, 
    upload_start_handler : uploadStart, 
    upload_progress_handler : uploadProgress, 
    upload_error_handler : uploadError, 
    upload_success_handler : assetUploadSuccess, 
    upload_complete_handler : uploadComplete, 
    queue_complete_handler : queueComplete // Queue plugin event 
}); 

而且调试输出:

---SWFUpload Instance Info--- 
Version: 2.2.0 2009-03-25 
Movie Name: SWFUpload_0 
Settings: 
    upload_url:    [function location] 
    flash_url:    [js_folder]/swfupload.swf?preventswfcaching=1363621116581 
    use_query_string:   false 
    requeue_on_error:   false 
    http_success:    
    assume_success_timeout: 0 
    file_post_name:   Filedata 
    post_params:    [object Object] 
    file_types:    *.* 
    file_types_description: All Files 
    file_size_limit:   10000 MB 
    file_upload_limit:  100 
    file_queue_limit:   0 
    debug:     true 
    prevent_swf_caching:  true 
    button_placeholder_id: spanButtonPlaceHolder 
    ... 
Event Handlers: 
    swfupload_loaded_handler assigned: false 
    file_dialog_start_handler assigned: false 
    file_queued_handler assigned:  true 
    file_queue_error_handler assigned: true 
    upload_start_handler assigned:  true 
    upload_progress_handler assigned: true 
    upload_error_handler assigned:  true 
    upload_success_handler assigned: true 
    upload_complete_handler assigned: true 
    debug_handler assigned:    true 

SWF DEBUG: SWFUpload Init Complete 
SWF DEBUG: 
SWF DEBUG: ----- SWF DEBUG OUTPUT ---- 
SWF DEBUG: Build Number:   SWFUPLOAD 2.2.0 
SWF DEBUG: movieName:    SWFUpload_0 
SWF DEBUG: Upload URL:    [function location] 
SWF DEBUG: File Types String:  *.* 
SWF DEBUG: Parsed File Types:  
SWF DEBUG: HTTP Success:   0 
SWF DEBUG: File Types Description: All Files (*.*) 
SWF DEBUG: File Size Limit:  10485760000 bytes 
SWF DEBUG: File Upload Limit:  100 
SWF DEBUG: File Queue Limit:  100 
SWF DEBUG: Post Params: 
SWF DEBUG:       PHPSESSID=ki7kne5j6co95il6f6hqt8pje4 
SWF DEBUG: ----- END SWF DEBUG OUTPUT ---- 
SWF DEBUG: 
SWF DEBUG: Event: fileDialogStart : Browsing files. Single Select. Allowed file types: *.* 
SWF DEBUG: Select Handler: Received the files selected from the dialog. Processing the file list... 
SWF DEBUG: Event: fileQueued : File ID: SWFUpload_0_0 
SWF DEBUG: Event: fileDialogComplete : Finished processing selected files. Files selected: 1. Files Queued: 1 
EXCEPTION: 
SWF DEBUG: StartUpload: First file in queue 
SWF DEBUG: Event: uploadStart : File ID: SWFUpload_0_0 
SWF DEBUG: Global Post Item: PHPSESSID=ki7kne5j6co95il6f6hqt8pje4 
SWF DEBUG: File Post Item: asset_id=131 
SWF DEBUG: File Post Item: document_type_id=4 
SWF DEBUG: File Post Item: title_id=-1 
SWF DEBUG: File Post Item: title=test3 
SWF DEBUG: ReturnUploadStart(): File accepted by startUpload event and readied for upload. Starting upload to [upload function] for File ID: SWFUpload_0_0 
SWF DEBUG: Event: uploadProgress (OPEN): File ID: SWFUpload_0_0 
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_0. Bytes: 1409024. Total: 1692228612 
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_0. Bytes: 5308416. Total: 1692228612 
... 
... 
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_0. Bytes: 1692228612. Total: 1692228612 
SWF DEBUG: Event: uploadSuccess: File ID: SWFUpload_0_0 Response Received: true Data: 
SWF DEBUG: Event: uploadComplete : Upload cycle complete. 

提前致谢。

+0

你真的想要上传一个1.5 gig的文件,其中0.6 gig的上传限制? – ITroubs 2013-03-18 18:13:17

+0

我希望不是。你在哪里看到上传限制? – 2013-03-18 18:25:51

+0

确保将“php_value upload_max_filesize”和“php_value post_max_size”设置为您要支持/上传的最大文件大小。 – Andron 2013-03-18 18:26:53

回答

0

您的主机可能已经禁用了像set_time_limit(0)这样的ini_set php变量来增加最大执行时间的能力,在这种情况下,它会使用httpd.conf中的Apache“Timeout”,默认值为60秒。还设置FcgidMaxRequestLen,这是最大请求长度(以字节为单位)。

在PHP中,还要检查:memory_limit的

帮助调试,也尝试: 的ini_set( 'display_errors设置', 'ON'); error_reporting(E_ALL);

也从您的代码中删除任何符号。例如:@ $ varname或@functionName() @告诉PHP隐藏正在发生的任何错误。

可能是因为您的error_reporting级别设置得太低,所以确实存在错误,但您没有看到它。上面应该解决这个问题。

相关问题