Chương trình download đon giản. Help me !!! 2007-07-29 11:20:53
Xin chỉ mình cách làm một chương trình download. Cho phép user khi click vào link sẽ tự đông download file đó về.
Tra loi 17 comment(s) 2007-07-29 11:20:53
Tra loi 17 comment(s) 2007-07-29 11:20:53
cocbay 2007-07-30 08:17:58
@readfile('$file');
Trong đó $file là tên file (đầy đủ, có đuôi mở rộng) cần download
Tra loi
TG 2007-07-30 11:58:10
bạn dùng đoạn code này:
<?php
function download($file){
if(!file_exists($file)){
print "file's not exits"; exit();
}
$size = filesize($file);
header("Content-Type: application/save");
header("Content-Length: $size");
header("Content-Disposition: attachment; filename=\"".$file."\"");
header("Content-Transfer-Encoding: binary");
if ($fh = fopen("$file", "rb")){
fpassthru($fh);
fclose($fh);
} else {
print ("Permission denied: ".$file); exit();
}
}
download('file_name.php');
?>
Tra loi
pigbig_vn 2007-07-30 09:20:22
-----------------
Bạn TG ơi, code cũng tương tự code của bạn cocbay, nhưng gặp lỗi sau:
+ Nội dung file là bị cắt đi mất một phần.
+ Tự động xuống dòng ngay đầu file.
Xin giúp mình cách khắc phục.
Tra loi
pigbig_vn 2007-07-30 09:58:53
Tra loi
cocbay 2007-07-31 08:01:51
Tra loi
pigbig_vn 2007-07-31 02:11:39
Cái này chỉ cho down file nằm cùng cấp trong thư mục. Mình muốn cho down file nằm trong folder nằm khác cấp vì các file minh cho phép down nằm chung trong 1 thư mục riêng biệt.
Trời, công nhận câu cú mình dở thật. chẳng bít nói sao. Mong là bạn hiểu.
Tra loi
cocbay 2007-07-31 02:33:55
ví dụ muốn down file nen.zip ở thư mục cha
$file="../nen.zip";
Còn các thư mục con của hiện tại thì bạn chỉ ra đường dẫn thôi
$file="/thumuccon/nen.zip"
Tra loi
pigbig_vn 2007-07-31 08:58:46
Ko đc bạn cocbay oi. Mình đã thử như bạn nói rồi. Cách này tuy download đc file nhưng file sẽ bị đổi tên thành "Ten folder - Tên File". Như vậy sẽ bị sai tên file.
Mình áp dụng theo cách của bạn như sau :
+ Trang hiển thị những file cho phép down, khi user chọn file muốn down mình se truyền tên file down(vd test.txt) qua trang download.php bằng phưong thức GET.
+ Trang download.php co nội dung như sau:
<?
$file = "/Document_Files_Upload/".$_GET["name"];
if(!file_exists($file))
{
print "file's not exits";exit();
}
header("Content-Type: application/save");
@header('Content-Disposition: attachment; filename="'.$file.'"');
@readfile($file);
?>
Tra loi
cocbay 2007-08-01 08:16:49
Cái này là quy định đặt tên file download về. Nên bạn sửa chổ này lại là :
$filename = $_GET["name"]: tên file.
$file: đường dẩn của file cần download trên host.
Tra loi
pigbig_vn 2007-08-01 09:41:50
Tra loi
cocbay 2007-08-01 02:26:45
download.php?index.php hay download.php?connect.php thì tiêu :).
Tra loi
shinichi 2008-01-11 01:13:52
Tra loi
gaulucky92 2008-09-03 03:31:52
Tra loi
Le Trung Kien 2008-09-04 03:37:19
Tra loi
gaulucky92 2008-09-04 03:54:27
thay vì cung cấp link trực tiếp, thì bạn cho nó vào 1 file php, file này sẽ gọi link file kia ra...
===> Ứng dụng: quản lí files trong các mã nguồn download.
Tra loi
Quan Tran Anh 2008-09-04 05:26:41
Một đằng là trực tiếp tải file về.
Một đằng là đọc DB -> Đọc File -> Trả về :)
Tra loi
gaulucky92 2008-09-04 06:44:16
cái mà ông nói chỉ là thời gian lấy được link thật thôi! File nó vẫn nằm trên host, 1 đường là lấy link đó down trực tiếp, 1 đường là dùng file php gọi link đó ra để down trực tiếp ==> ko ảnh hưởng :))
Tra loi
Y kien