Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao
© 2007 Khoa CNTT - ĐHKHTN
Cơ
Cơ
ch
ch
ế
ế
Upload File
Upload File
Webserver
Yêu cầutrangupload.php
Disk
driver
file
Upload.php
• $_FILES[“file”]["name"]
• $_FILES[“file”]["type"]
• $_FILES[“file”]["size"]
• $_FILES[“file”]["tmp_name"]
• $_FILES["file”]["error"]
Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao
© 2007 Khoa CNTT - ĐHKHTN
Thi
Thi
ế
ế
t
t
k
k
ế
ế
Form
Form
đ
đ
ể
ể
Upload File
Upload File
ThiếtlậpthuộctínhForm
– Method = POST
– Enctype = multipart/form-data
UploadForm.htm
<form method="POST" action=“upload.php” enctype=“multipart/form-data”>
<input type=“FILE” name =“ProductImg”><br>
<input type=“submit” value=“Submit">
</form>
Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao
© 2007 Khoa CNTT - ĐHKHTN
Thi
Thi
ế
ế
t k
t k
ế
ế
trang x
trang x
ử
ử
lý File đư
lý File đư
ợ
ợ
c upload trên server
c upload trên server
move_uploaded_file(tmp_name, saved_name)
Upload.php
<?php
move_uploaded_file($_FILES["ProductImg"]["tmp_name"],
"upload/" . $_FILES["ProductImg"]["name"]);
echo "Upload: " . $_FILES["ProductImg"]["name"] . “<br>”;
echo "Type: " . $_FILES["ProductImg"]["type"] . “<br>”;
echo "Size: " . ($_FILES["ProductImg"]["size“]/1024) . “Kb<br>”;
echo “Temp. Stored in: " . $_FILES["ProductImg"]["tmp_name"];
?>
Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao
© 2007 Khoa CNTT - ĐHKHTN
Ki
Ki
ể
ể
m tra l
m tra l
ỗ
ỗ
i,
i,
đ
đ
ị
ị
nh d
nh d
ạ
ạ
ng, k
ng, k
í
í
ch thư
ch thư
ớ
ớ
c File upload
c File upload
Lưuý :
– $_FILES[“…”][“type”]
• “image/gif”
• “image/jpeg” Æ Firefox nhận đây là file jpeg
• “image/pjpeg” Æ IE nhận đây là file jpeg
– $_FILES[“…”][“size”]
: Kích thước file tính theo byte
– $_FILES[“…”][“error”] : Mã lỗi khi upload File
• = 0 : Không có lỗi
• > 0 : Có lỗi
Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao
© 2007 Khoa CNTT - ĐHKHTN
V
V
ấ
ấ
n
n
đ
đ
ề
ề
v
v
ề
ề
quy
quy
ề
ề
n
n
truy
truy
c
c
ậ
ậ
p
p
File
File
PHP Warning:
move_uploaded_file(upload/14.jpg
) [function.move-uploaded-file]:
failed to open stream:
Permission denied in.
Account
IUSR_XXX
Lưuý :
• Chỉ cấp quyền ghi cho thư mụccầnthiết
• Không cấp quyền ghi cho thư mục
WebRoot