09/10/2018, 23:35

Lam sao upload file > 8mb su dung php day?

Mình đang làm 1 cái project đòi hỏi phải upload lên tới 1gb, mà ko biết phải làm thế nào. Nếu dung <input type="file"> rồi upload như bình thường thì cứ quá 2mb là nó lại hết session.

Nghe nói là mình phải kết hợp webform với ftp để upload lên.Có cao thủ nào giúp với!!!
maruko-nhoc viết 01:46 ngày 10/10/2018
Với File ~1GB thì dùng một FTP client mà đẩy lên thôi, PHP không chịu nổi nhiệt.

Tớ dùng Net_FTP trong PEAR để fpt các file ~20MB, chạy tốt
Ví dụ nhé,
PHP Code:
<?php
    
require_once('Net/FTP.php');    
    
ini_set('max_execution_time'300);//5'
    
    
$v_ftp_server           'localhost';
    
$v_ftp_port             21;
    
$v_ftp_user_name        'user';
    
$v_ftp_password         'password';
    
$v_ftp_folder           'duong/dan/toi/thu/muc/chua/file/tren/server/';
    
$v_ftp_connect_timeout  90;//giay
    
    
$v_local_file_path      'duong/dan/day/du/cua/client/file.ext';
    
$v_remote_file_name     'ten_file_sau_khi_ftp.ext';    
    
    
$ftp = new Net_FTP($v_ftp_server$v_ftp_port$v_ftp_connect_timeout);
    
$ftp->connect($v_ftp_server$v_ftp_port);
    
$ftp->login($v_ftp_user_name$v_ftp_password);
    
$ftp->cd($v_ftp_folder);
    
$ftp->put($v_local_file_path,$v_remote_file_name,true,FTP_BINARY);
    
$ftp->disconnect();
?>
Còn lớn hơn nữa thì cũng toi.
Các cao thủ có giải pháp nào tốt hơn không!?
Về Đâu viết 01:39 ngày 10/10/2018
Code:
<?  ini_set('max_execution_time',***);//5' ?>
thử cái này xem thay *** bằng 20MB hay bao nhiêu thì tùy.
nếu mệt quá thì cứ code bình thường chơi file .htaccess như sau:
Code:
php_value	upload_max_filesize	20M
dungusd viết 01:38 ngày 10/10/2018
tất cả đều đúng
nhưng thêm cái này vào bên trên cùng của file php
<?php
set_time_limit(60*60*60*60);
?>
các số 60 là 60 giây cứ tiếp tục nhân cho trình duyệt chạy 10 ngyaf cũng vô tư
upload 10Gb cũng được
BlackWorm viết 01:39 ngày 10/10/2018
Nếu mà upload như bình thường dùng form, thì cho dù mình có set upload_max_filesize, hay max_execution_time cũng chưa được. Theo mình biết php sẽ đưa vào bộ nhớ tạm, sau đó mới tạo file temp...Nếu file lớn thì minh phải set memory_limit lớn luôn, nhưng file lớn tới 1gb. ! Nếu có nhiếu người upload 1 lúc chắc server die sớm. Search một hồi trên mạng, thấy tụi nó bảo phải split file ra. rồi mới ghép lại trên server(nhưng cái này chắc phải dùng applet quá). Có cao thủ nào biết cách nào khác không ? giúp với!
dungusd viết 01:39 ngày 10/10/2018
thật đúng là khó đào tạo thật
chưa làm đã sợ không được
cứ làm theo cách của tui khong được ko lấy tiền
cách này chính là thằng megaupload và youtube hay làm mà

http://www.php.net/manual/en/functio...time-limit.php
conmalele viết 01:39 ngày 10/10/2018
Quote Được gửi bởi Về Đâu View Post
Code:
<?  ini_set('max_execution_time',***);//5' ?>
thử cái này xem thay *** bằng 20MB hay bao nhiêu thì tùy.
Tính bằng giây chứ có phải bằng MB đâu, chắc bác này bị nhầm
Bài liên quan
0