Danh cho Quang cao
VNP Community
Tags
This content has not been tagged yet
> Source upload file đơn giản và hiệu quả  
Reply to this topicStart new topic
learn2hack
post Jul 24 2007, 12:10 AM
Post #1


Yahoo! King
Group Icon

Group: Super Moderator
Posts: 751
Cash: 50k
Age: 23
Joined: 6-November 06
From: rilwis.tk
Member No.: 18,552
Yahoo! Status: N/A



Hiện giờ có rất nhiều source để upload file, các bạn có thể tìm trong diễn đàn mình cũng nhiều. Nổi bật là source của PT viết và của Upload Script.
L2H cũng thử tự mình viết 1 source như vậy, cũng là để tập dợt kỹ năng code PHP. Source này L2H viết có tham khảo qua source của PT và Upload Script:

Một vài ưu điểm:
- Chỉ gồm 1 file duy nhất, dung lượng 7KB.
- Tên file upload được mã hóa theo dạng MD5 hash của chính file đó. Nếu cùng 1 file, đã được upload rồi dù có đổi tên đi nữa thì vẫn nhận diện được, khi đó ko upload lại nữa và chỉ đưa link cho người dùng (kỹ thuật sử dụng MD5 hash này học từ Upload Script).
- Sau khi upload sẽ đưa direct link cho người dùng ở dạng url và bbcode (cái này học theo Sendpics của VNP).
- Kiểm tra tên file và định dạng rõ ràng
- Cho phép upload 1 lúc nhiều file

Một vài điểm chú ý khi sử dụng:
- Các hướng dẫn về việc tùy biến định dạng file, kích thước, nơi lưu trữ mình ghi ngay đầu file (bằng tiếng Anh), các bạn nhớ đọc kĩ. Ở đây mình nói rõ lại để các bạn tiện sửa code:

+ Để tùy biến định dạng file, kích cỡ, nơi lưu, các bạn tìm đến dòng sau ở gần cuối file:
CODE
$fileUploader = new FileUploader();


+ Nếu để mặc định thì nó sẽ cho phép các định dạng sau: jpg, jpeg, gif, png, zip, rar; đồng thời kích thước file mặc định là 3 MB, thư mục lưu trữ mặc định là upload/

+ Để thay đổi, các bạn sửa dòng đó theo mẫu:

CODE
$fileUploader = new FileUploader(các định dạng cho phép, dung lượng tính theo MB, thư mục);


trong đó:
- các định dạng cho phép các bạn phải viết bằng chữ viết thường, các định dạng phân cách nhau bằng dấu phảy. VD: 'zip, rar, doc, exe'
- dung lượng tính bằng MB, chỉ ghi số. VD: 3
- thư mục lưu trữ thì phải kết thúc bằng dấu / ở cuối. VD: 'files/'. Chú ý là phải tạo thư mục này trước và chmod 777 cho nó nhé.

Tổng hợp lại, các bạn có dòng lệnh mới như sau:
CODE
$fileUploader = new FileUploader('zip, rar, doc, exe', 3, 'files/');


Vì L2H chỉ làm source để upload nên không có các chức năng phụ như đếm số người online như PT làm hoặc liệt kê các file được upload rồi như Upload Scripts.

Để bảo mật, thì chỉ nguyên trong code này sẽ không đủ. Các bạn cố gắng thiết lập chặt chẽ file .htaccess và chmod trên host của mình. Trong code này, L2H đã ứng dụng việc change file name sang MD5 Hash nên người khác sẽ không thể biết được link của file nếu ko có chính file đó, việc này hạn chế họ get cả thư mục của mình.

Rất mong các bạn góp ý để source được tốt hơn. Cám ơn rất nhiều.

Đã sửa 1 vài lỗi nhỏ và update lại link download. Các bạn hãy download tại link sau: (mình sửa lại chỉ để 1 link download để tiện cập nhật version mới hoặc fix các lỗi nếu có, khi download các bạn ko cần phải sửa lại link mà luôn được đảm bảo bản mới nhất):

Download File Uploader Here

This post has been edited by learn2hack: Sep 15 2008, 11:36 PM

Links and References to Other Pages:

http://rilwis.googlepages.com/upload.zip
Go to the top of the page
 
+Quote Post
Game Online
Baby_khonglo
post Aug 8 2008, 12:51 PM
Post #2


Mr Bự
Group Icon

Group: Super Moderator
Posts: 563
Cash: 413k
Age: 17
Joined: 30-October 06
From: Lòng đất
Member No.: 18,310
Yahoo! Status:



Warning: opendir(online/) [function.opendir]: failed to open dir: No such file or directory in /home/barbarb1/public_html/upload/upload.php on line 140


Khi em test thử thì nó lỗi chỗ đó
Go to the top of the page
 
+Quote Post
nguoidanong.xala
post Aug 20 2008, 10:33 PM
Post #3


Junior Member
Group Icon

Group: Member
Posts: 19
Cash: 19k
Age: 24
Joined: 20-August 08
Member No.: 114,008
Yahoo! Status:



Bạn phải chmod thư mục online/ về 0777 hoạc kiểm tra lại xem đường dẫn đã đúng chưa 1.gif
Go to the top of the page
 
+Quote Post
name1217
post Aug 25 2008, 02:56 AM
Post #4


Junior Member
Group Icon

Group: Member
Posts: 19
Cash: 19k
Age: N/A
Joined: 15-June 08
From: Lâm Đồng
Member No.: 110,581
Yahoo! Status:



Cho em hỏi có code upload nào bằng asp k0
Go to the top of the page
 
+Quote Post
nguoidanong.xala
post Aug 25 2008, 03:41 AM
Post #5


Junior Member
Group Icon

Group: Member
Posts: 19
Cash: 19k
Age: 24
Joined: 20-August 08
Member No.: 114,008
Yahoo! Status:



QUOTE (name1217 @ Aug 25 2008, 02:56 AM) *
Cho em hỏi có code upload nào bằng asp k0


Có đó bạn 1.gif download ở dưới đó
Attached File(s)
Attached File  asp_upload.zip ( 331.94K ) Number of downloads: 128
 
Go to the top of the page
 
+Quote Post
name1217
post Aug 26 2008, 01:03 AM
Post #6


Junior Member
Group Icon

Group: Member
Posts: 19
Cash: 19k
Age: N/A
Joined: 15-June 08
From: Lâm Đồng
Member No.: 110,581
Yahoo! Status:



QUOTE (nguoidanong.xala @ Aug 25 2008, 03:41 AM) *
QUOTE (name1217 @ Aug 25 2008, 02:56 AM) *
Cho em hỏi có code upload nào bằng asp k0


Có đó bạn 1.gif download ở dưới đó



Cài dặt như thế nào vậy anh
Go to the top of the page
 
+Quote Post
learn2hack
post Aug 26 2008, 10:22 AM
Post #7


Yahoo! King
Group Icon

Group: Super Moderator
Posts: 751
Cash: 50k
Age: 23
Joined: 6-November 06
From: rilwis.tk
Member No.: 18,552
Yahoo! Status: N/A



Hiện giờ mình đã fix 1 vài lỗi nhỏ (thanks ngonlua1990), và update lại link download cho các bạn. Bản mình gửi ở đây là bản cho phép upload nhiều file (như đã giới thiệu trong 1 topic khác), sau thời gian chạy thấy nó khá ổn nên dùng luôn. Ở đây mình cũng viết thêm ít hướng dẫn cho các bạn tiện sửa chữa. Tất cả được edit lại ở bài đầu tiên.

Hy vọng các bạn thích source này. Có gì các bạn thấy cần sửa đổi bổ xung thì hãy nhắn cho mình. Cám ơn nhiều.

This post has been edited by learn2hack: Aug 26 2008, 10:28 AM
Go to the top of the page
 
+Quote Post
hm3cs
post Aug 26 2008, 07:44 PM
Post #8


Yahoo! Playa
Group Icon

Group: Admin
Posts: 142
Cash: 82k
Age: 23
Joined: 25-June 08
Member No.: 110,907
Yahoo! Status:



QUOTE (name1217 @ Aug 26 2008, 01:03 AM) *
QUOTE (nguoidanong.xala @ Aug 25 2008, 03:41 AM) *
QUOTE (name1217 @ Aug 25 2008, 02:56 AM) *
Cho em hỏi có code upload nào bằng asp k0


Có đó bạn 1.gif download ở dưới đó



Cài dặt như thế nào vậy anh


ASP chỉ cần upload lên host as là chạy thôi em 1.gif kô biết phải làm gì nữa hem :">
Go to the top of the page
 
+Quote Post
bambino
post Sep 5 2008, 08:33 PM
Post #9


Junior Member
Group Icon

Group: Member
Posts: 2
Cash: 2k
Age: N/A
Joined: 8-May 08
Member No.: 107,907
Yahoo! Status: N/A



có cách làm làm thêm 1 phần để mình có thể lựa chọn thư mục mà mình muôn sup lên không?chứ k bị bó buộc vào 1 thư mục nữa!
Go to the top of the page
 
+Quote Post
NEO_PTIT
post Sep 6 2008, 02:48 AM
Post #10


Junior Member
Group Icon

Group: Member
Posts: 4
Cash: 4k
Age: N/A
Joined: 22-August 08
Member No.: 114,061
Yahoo! Status: N/A



To learn2hack:
- Nếu em đặt file file_uploader_v1.2.php ở host A http://aaa.com và chạy file này.
- Em muốn lưu trữ file đã được upload sang 1 host B http://bbb.com thì phải sửa như thế nào ?

Links and References to Other Pages:

http://aaa.com
http://bbb.com
Go to the top of the page
 
+Quote Post
Baby_khonglo
post Sep 6 2008, 06:03 AM
Post #11


Mr Bự
Group Icon

Group: Super Moderator
Posts: 563
Cash: 413k
Age: 17
Joined: 30-October 06
From: Lòng đất
Member No.: 18,310
Yahoo! Status:



QUOTE (NEO_PTIT @ Sep 6 2008, 02:48 AM) *
To learn2hack:
- Nếu em đặt file file_uploader_v1.2.php ở host A http://aaa.com và chạy file này.
- Em muốn lưu trữ file đã được upload sang 1 host B http://bbb.com thì phải sửa như thế nào ?


_ Đầu tiên host A, bạn làm một html với form như sau
QUOTE
<form enctype="multipart/form-data" target="_self" action="http://gdht.phpnet.us/upload/upload.php" method="POST">
<input name="userfile" type="file" /><br />
<input type="checkbox" name="agree\" value="22" /><font size="3">Đồng với qui định của ".$A_sitename." (<a href="agreement.php">Qui định</a>)<br /></font>
<input type="submit" value="Upload File" />";

- Ở host B bạn up file upload.php của anh L2H lên, thay thế đường dẫn file đó trong code (phần in đậm trong form bên host A )

This post has been edited by Baby_khonglo: Sep 6 2008, 06:05 AM

Links and References to Other Pages:

http://bbb.com
Go to the top of the page
 
+Quote Post
Mr.Nike1
post Sep 29 2008, 12:17 PM
Post #12


Small Princess Thanks !
Group Icon

Group: Validating Mod
Posts: 263
Cash: 27k
Age: 20
Joined: 13-June 05
From: Vũng Tàu
Member No.: 4,531
Yahoo! Status:



vậy bắt buộc host chứa code phải hỗ trợ PHP & CMOD. Mình có cái host up code chỉ có 300MB nhưng cái host lưu trữ của mình tới 10GB, ko có code nào áp dụng ngc lại đc ha.
Go to the top of the page
 
+Quote Post
noka
post Sep 29 2008, 03:39 PM
Post #13


Junior Member
Group Icon

Group: Member
Posts: 25
Cash: 25k
Age: N/A
Joined: 16-August 08
Member No.: 113,785
Yahoo! Status: N/A



Code này viết bằng PHP mà, phải có PHP là đúng rồi, Chmod chỉ là để bảo mật cho chắc ăn thôi, mà thường chúng đi kèm nhau hết ấy mà.

Còn cái đoạn sau thì bác Vmod này nói gì em chả hiểu 4.gif.
Go to the top of the page
 
+Quote Post
Mr.Nike1
post Oct 1 2008, 10:14 AM
Post #14


Small Princess Thanks !
Group Icon

Group: Validating Mod
Posts: 263
Cash: 27k
Age: 20
Joined: 13-June 05
From: Vũng Tàu
Member No.: 4,531
Yahoo! Status:



èo, code PHP dùng host hỗ trợ PHP thì tất nhiên mình biết. ý mình muốn nói thế này: mình có 1 cái host dung lượng khá lớn và bw thì unlimit dùng để lưu trữ dữ liệu nhưng nó ko hỗ trợ PHP, còn cái host mình làm việc thì hỗ trợ hết, ko có code nào làm cho những file up lên sẽ tự qua host kia 4.gif

This post has been edited by Mr.Nike1: Oct 1 2008, 10:15 AM
Go to the top of the page
 
+Quote Post
Baby_khonglo
post Oct 2 2008, 09:43 PM
Post #15


Mr Bự
Group Icon

Group: Super Moderator
Posts: 563
Cash: 413k
Age: 17
Joined: 30-October 06
From: Lòng đất
Member No.: 18,310
Yahoo! Status:



Nó không hỗ trợ php, vậy thì phải dùng ftp, 39.gif để nghiên cứu cái
Go to the top of the page
 
+Quote Post
BBCode:
HTML:
  Digg this topic · Save to del.icio.us · Slashdot It · Post to Technorati · Post to Furl · Submit to Reddit · Share on Facebook · Fark It · Googlize This Post · Add to ma.gnolia · Tag to Wink · Add to MyWeb · Add to Netscape
Reply to this topicStart new topic
2 User(s) are reading this topic [2 Guests and 0 Anonymous Users]
0 Members:

 

Collapse

> Similar Topics

    Topic Title Replies Topic Starter Views Last Action
No New Posts   2 PETER 1,369 11th September 2008 - 02:30 PM
Last post by: PETER
No New Posts   13 PETER 1,271 14th December 2007 - 01:33 PM
Last post by: WOLFBOY
No New Posts   0 PETER 3,283 21st December 2007 - 10:31 AM
Last post by: PETER
No New Posts   0 PETER 1,208 11th January 2008 - 10:05 AM
Last post by: PETER
No New Posts   0 PETER 938 22nd February 2008 - 06:05 PM
Last post by: PETER

Collapse

> Links to this thread

Page             Date Hits
source upload file + php - Tìm với Google 30th October 2008 - 10:16 AM   1
download code upload script - Tm với Google 30th October 2008 - 05:19 PM   1
asp code upload download file - Tm với Google 31st October 2008 - 10:07 AM   1
upload file trong asp - Tm với Google 31st October 2008 - 03:38 PM   1
source upload file trong PHP - Tm với Google 1st November 2008 - 09:01 AM   1


RSS