09/10/2018, 18:13
cần đoạn code dùng để upload file, create folder, create file,... giống 1asphost.com
ai co đoạn code dùng để upload file, create folder, create file ,edit file ,edit folder, .... giống y chang cái trang upload file của http://1asphost.com đó.
Các cao thủ chỉ giùm cám ơnn nhiều.
Các cao thủ chỉ giùm cám ơnn nhiều.
Bài liên quan
Creat File và View File trên host của bạn
* Creat File :
Liệu chúng ta có thể tạo một file trên host của mình bằng cách dùng một form ko ? Đương nhiên , PHP có thể hỗ trợ cho bạn làm điều đó ... một cách khá dễ dàng cho các webmaster
- Step 1 : Set Up Một Folder
Bạn hãy tạo một folder nào đó trên host của mình , trong bài ví dụ này tôi sẽ lấy folder có tên là "post"
Hãy chmod folder đó thành 777 .Nhớ đừng quên tên của folder đó nhé , sau này bạn sẽ cần nó đấy và một điều quan trọng ko kém , nếu ko chmod folder thành 777 , thì bạn sẽ gặp khá nhiều lỗi when you try to save a new file .
That wasn't hard now was it?
- Step 2 : Making Một Form
Hãy tạo một file html bất kì , lấy tên là form.html
Code for form.html như sau :
CODE
<html><body>
<form action="post.php" method="post">
<p>Name:<br>
<input type="text" name="name" size="20"></p>
<p>Comments<br>
<textarea name="comment" cols="50" rows="10"></textarea></p>
<input type="submit" value="post"></form>
</body></html>
Sau đó save file này lại nha !
- Step 3 : Make the Processing Script
Đây mới là phần quan trọng nè .... là PHP part .Hãy tạo một file PHP và lấy tên là post.php
Code for post.php như sau :
CODE
<?
$datetime = date('dmY.His');
$post = "<html><body>\n
<p>$name<br>\n
$comment</p>\n
</body></html>";
$fp = fopen("$datetime.html", "w");
fwrite($fp,$post);
fclose($fp);
$redirect = "$datetime.html";
header('Location: '.$redirect);
?>
- Step 4 : Hiểu thêm về các code trên
+ datetime = date('dmY.His'); ---> Đây chỉ là hàm lấy ngày giờ thôi , nó sẽ được sử dụng về sau và cũng là tên của các file mới mà bạn khởi tạo .
+ $post = "<html><body>\n
<p>$name<br>\n
$comment</p>\n
</body></html>";
---> Là một đoạn code html với $name là tên mà bạn type trong phần form.html , tương tự $comment cũng vậy .
+ $fp = fopen("$datetime.html", "w");
---> $fp được gán với một đoạn code có nội dung sau : fopen là code để mở hồ sơ , hồ sơ được mở ở đây là biến $datetime.html , còn W thì có tác dụng .. Nếu ko có file mới nào được khởi tạo thì nó sẽ tạo ngay một file mới để bù vào .
+ fwrite($fp,$post);
----> Đây chỉ là một đoạn code để ghi thôi .Trước hết nó sẽ chạy cái biến $fp ( để tạo một file mới ) và sau đó là viết nội dung của biến $post .
+ Các code sau có lẽ các bạn tự tìm hiểu ....Done rùi đó , hãy chạy thử script đi ha !
- Bây giờ công việc chỉ cần một bước thôi ,Bạn hãy creat một file có tên là form.php ---> đây sẽ là file vừa để bạn up file lên host cũng vừa để bạn view nó luôn ...Bạn có thể sửa đổi tuỳ ý thích của bạn ( chẳng hạn tạo thêm một file có tên là view.php ).Tôi sẽ cứ post nguyên văn code của nó ra rồi sau đó sẽ nói cho các bạn rõ các thay đổi của nó
CODE
<?
if(!isset($mode)) { $mode = 'index'; }
switch($mode) {
case 'index':
echo "<html><body>
<p align=\"center\">Menu :: <a href=\"$PHP_SELF?mode=add\">Add Comment</a></p>
<p>\n";
$dir = opendir(".");
while ($file = readdir($dir)) {
if ($file != "." && $file != ".." && $file != "form.php") {
$time = filemtime("$file");
$data[$time] = "<a href=\"$file\">$file</a><br>\n";
} }
krsort($data);
while(list($k,$v) = each($data)) { echo $v; }
clearstatcache();
echo "</p></body></html>";
break;
case 'add':
echo "<html><body>
<form action=\"$PHP_SELF?mode=post\" method=\"post\">
<p>Name:<br>
<input type=\"text\" name=\"name\" size=\"20\"></p>
<p>Comments<br>
<textarea name=\"comment\" cols=\"50\" rows=\"10\"></textarea></p>
<input type=\"submit\" value=\"post\"></form>
</body></html>";
break;
case 'post':
$datetime = date('dmY.His');
$post = "<html><body>\n
<p>$name<br>\n
$comment</p>\n
</body></html>";
$fp = fopen("$datetime.html", "w");
fwrite($fp,$post);
fclose($fp);
$redirect = "$datetime.html";
header('Location: '.$redirect);
break; } ?>
Bạn có hiểu $PHP_SELF là cái gì hông ??? Nó là một biến được xây dựng với nghĩa là " file này " .Nếu bạn change file .php thành index.php , Bạn sẽ ko phải thay đổi bất cứ cái gì cho script để work .Nếu bạn ko có biến $PHP_SELF thì bạn sẽ phải thay đổi các acttion của form mỗi khi bạn thay đổi tên của script .
+ $dir = opendir("."); ----? là biến được thiết đặt tới nội dung của thư mục hiện thời .Nếu bạn ko biết "." là thư mục hiện thời và ".." là một directory up thì opendir có nghĩa là mở một thư mục .
+ while ($file = readdir($dir)) { ----> Code này có nghĩa là mở một vòng lặp để đọc cái $dir thui . readdir có nghĩa là đọc một thư mục mở . Bạn phải sử dụng opendir trước khi readdir
+ if ($file != "." && $file != ".." && $file != "form.php") {
--> Code if này với những điều kiện trên có nghĩa là nếu cái $file ko tồn tại ở thư mục hiện thời và cũng chẳng tồn tại ở thư mục trên nó cũng như ngay cả trong file form.php thì điều kiện if là đúng và sau đó :
$time = filemtime("e;$file"e; ---> Code này cho biết lần cuối cùng thay đổi của file là bao giờ
$data[$time] = "<a href=\"$file\">$file</a>";
---> ở đây chúng ta tạo một mảng gọi là $data , nhờ vào $time để chúng ta phân loại .Thay vì phân loại bởi sự mặc định bắt đầu từ những con số ( bắt đầu từ số 0) , nó sẽ phân loại dựa vào sự thay đổi thông qua $time
krsort($data) ---> code này dùng để sắp xếp biến $data , thông qua $time để $data được xếp gần đây nhất .
while(list($k,$v) = each($data)) { echo $v; } ----> Lại một vòng lặp khác .Và $k ở đây là key còn $v cỉ là một biến , vì thế $k = $data[$time] and $v = what that $data[$time] is equal to .Mỗi mảng đều có một key và một giá trị . .... Ừm bạn cũng có thể coi rằng key giống như tên của một người nào đó và giá trị thì như một actual person.Mỗi người đều có tên và nhờ đó bạn có thể gọi họ , right ? Mặc dù vậy , chuỗi này sẽ print một cái list của tất cả những file hiện thời đang có trên host ( trong folder) của bạn .
Done ! Go try out your new form.php script! Go on, you know you want to.
Đọc Kỹ hướng dẫn trước Khi sử dụng !
QUOTE
<HTML>
<HEAD>
<TITLE>Uploader</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
</HEAD>
<BODY>
<?php
// PHẦN I : Cấu Hình
// Nếu upload cần phải nhập password thì chọn Yes
$ADMIN[RequirePass] = "No";
// Password để upload nếu ở trên chọn là Yes
$ADMIN[Password] = "password";
// Số trường upload hiện trên trang html
$ADMIN[UploadNum] = "5";
// Thư mục chứa file upload, thư mục này phải set chmod là 777
$ADMIN[directory] = "FileUpload"; /* Bạn hãy tự tạo thư mục này
// Giới hạn dung lượng file upload ( đơn vị tính là KB )
$LimitKB=100;
// PHẦN II : Kiểm Tra Password
// Khi người dùng nhấn Upload Files
if($upload) {
// Kiểm tra xem có cần nhập password để upload hay không
if($ADMIN[RequirePass] == "Yes") {
// Nếu có thì xác thực password,ở trên chọn là No nên sẽ bỏ qua bước này
if($password != "$ADMIN[Password]") {
?>
<!-- Nếu password vào không đúng thì hiện trang thông báo lỗi -->
<P><CENTER><B><FONT FACE="Verdana">Lỗi</FONT></B></CENTER></P>
<P><CENTER><TABLE WIDTH="450" BORDER="0" CELLSPACING="0"
CELLPADDING="0">
<TR>
<TD WIDTH="100%" BGCOLOR="#000000">
<TABLE WIDTH="450" BORDER="0" CELLSPACING="1" CELLPADDING="2">
<TR>
<TD COLSPAN="2" BGCOLOR="#ffffff">
<FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Password không đúng</FONT></TD>
</TR>
</TABLE></TD>
</TR>
</TABLE></CENTER></P>
</BODY>
</HTML>
<?php
// Thoát, không phải chạy các câu lệnh phí dưới
exit();
}
}
// PHẦN III : Kiểm Tra Tính Hợp Lệ Của File Cần Upload và Thực Hiện Upload file
$num = 0;
while($num < $ADMIN[UploadNum]) {
$num++;
// Gán chuổi fileup$num cho biến $file
$file = "fileup$num"."_name";
$file1 = $$file;
$file2 = "fileup$num";
$file3 = $$file2;
if($file3 != "none") {
// Tính kích thước file upload
$filesizekb = filesize($file3)/1024;
$ok = 1;
// So sánh kích thước file cần upload với giới hạn kích thước file được upload
if($filesizekb>$LimitKB){
// Nếu file yêu cầu upload có kích thước lớn hơn giới hạn cho phép thì thông báo lỗi
$message.="File $num có kích thước lớn hơn $LimitKB KB, vui lòng liên hệ với người quản trị website này để biết thêm chi tiết. <BR>";
// Thoát khỏi vòng lặp
break;
}
// Kiểm tra xem tên của file cần uplaod có trên thư mục nhận file upload chưa
if(file_exists("$ADMIN[directory]/$file1")) {
// Nếu có thì kiểm tra kích thước của file này
if (filesize("$ADMIN[directory]/$file1")==filesize($file3))
// Nếu kích thước của 2 file bằng nhau thì thông báo lỗi
$message .="Tên file $num đã có sẵn và có cùng kích thước trên thư mục nhận file upload<BR>";
}
// Nếu chưa có thì thực hiện upload
else {
copy ($file3, "$ADMIN[directory]/$file1");
// Nếu upload thành công thì hiện thông báo
// Và có thể nhấn vào liên kết để kiểm tra
$message .="File $num đã upload thành công <a href=\"$ADMIN[directory]/$file1\">$file1</a><BR>";
}
}
}
// Nếu không có file nào được chọn để upload hoặc file được chọn có kích thước bằng 0
if(!$message) {
// Thì hiện thông báo lỗi
$message .= "Không có file được chọn để upload";
}
?>
<!-- Trang html cho biết tình trạng upload file -->
<P><CENTER><B><FONT FACE="Verdana">Trạng Thái</FONT></B></CENTER></P>
<P><CENTER><TABLE WIDTH="450" BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD WIDTH="100%" BGCOLOR="#000000">
<TABLE WIDTH="450" BORDER="0" CELLSPACING="1" CELLPADDING="2">
<TR>
<TD COLSPAN="2" BGCOLOR="#ffffff">
<FONT COLOR="#000000" SIZE="-1" FACE="Verdana"><?php echo $message; ?></FONT></TD>
</TR>
</TABLE></TD>
</TR>
</TABLE></CENTER></P>
</BODY>
</HTML>
<?php
// Thoát , không thực hiện các câu lệnh phía dưới
exit();
}
// Tạo trang html bao gồm các trường nhận file upload
else {
$num = 0;
while($num < $ADMIN[UploadNum]) {
$num++;
$html .= "<TR>
<TD WIDTH=\"25%\" BGCOLOR=\"#295e85\">
<FONT COLOR=\"#ffffff\" SIZE=\"-1\" FACE=\"Verdana\">File $num:</FONT></TD>
<TD WIDTH=\"75%\" BGCOLOR=\"#ffffff\">
<INPUT NAME=\"fileup$num\" TYPE=\"file\" SIZE=\"25\">
</TD> ";
}
?>
<FORM ENCTYPE="multipart/form-data" ACTION="<? echo $PHP_SELF?>" METHOD="POST">
<P><CENTER><B><FONT FACE="Verdana">Upload</FONT></B></CENTER></P>
<P><CENTER><TABLE WIDTH="450" BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD WIDTH="100%" BGCOLOR="#000000">
<TABLE WIDTH="450" BORDER="0" CELLSPACING="1" CELLPADDING="2">
<TR>
<TD COLSPAN="2" BGCOLOR="#295e85">
<B><FONT COLOR="#ffffff" SIZE="-1" FACE="Verdana">Chọn File</FONT></B></TD>
</TR><?php echo $html; ?>
</TABLE></TD>
</TR>
</TABLE></CENTER></P>
<?php
// Lặp lại bước kiểm tra xem có cần nhập password để upload file hay không
if($ADMIN[RequirePass] == "Yes") {
?>
<!-- Tạo khung nhập password -->
<P><CENTER><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD WIDTH="100%" BGCOLOR="#000000">
<TABLE WIDTH="300" BORDER="0" CELLSPACING="1" CELLPADDING="2">
<TR>
<TD WIDTH="33%" BGCOLOR="#295e85">
<B><FONT COLOR="#ffffff" SIZE="-1" FACE="Verdana">Password:</FONT></B></TD>
<TD WIDTH="67%" BGCOLOR="#ffffff">
<INPUT NAME="password" TYPE="password" SIZE="25">
</TD>
</TR>
</TABLE></TD>
</TR>
</TABLE></CENTER></P>
<?php
}
?>
<P><CENTER><INPUT NAME="upload" TYPE="submit" VALUE="Upload Files"></CENTER></FORM>
<!-- Thông báo trước giới hạn kích thước file được upload -->
<P><CENTER>Chỉ chọn những file có kích thước nhỏ hơn <?echo "$LimitKB KB" ?></CENTER></P>
</BODY>
</HTML>
<?php
exit();
}
?>
Sau khi đã thay đổi các thông số phù hợp với nhu cầu của bạn , bạn hãy upload file này lên server và đặt nó vào một thư mục nào đó, trong thư mục chứa file này bạn hãy tạo một thư mục chứa file upload với tên mà bạn đã chọn trong phần cấu hình ( trong bài này là thư mục FileUpload ) và hãy set chmod cho nó là 777. Bây giờ bạn có thể upload file lên server của bạn mà không cần file dùng trang upload file của nhà cung cấp webhost hay một chương trình FTP nào đó .Chúc bạn thành công ! .
trích từ http://www.babylovevn.com
Bạn có đoạn code naò về asp khônng.