1. Trang chủ
  2. » Thể loại khác

Session 3 PHP co ban Lam viec voi tep tin

21 148 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 379,44 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thao tác với tệp tin Thao tác với tệp tin n Thao tác đọc/ghi nội dung các tệp tinfile có thể sử dụng cho một vài công việc như: v Đọc và chỉnh sửa nội dung của các tệp tin cấu hìnhconfi

Trang 1

Thao Tác Với Tệp Tin

Trong PHP Thao Tác Với Tệp Tin

Trong PHP

Trang 3

I Thao tác với tệp tin Thao tác với tệp tin

n Thao tác đọc/ghi nội dung các tệp tin(file) có thể sử dụng cho một vài công việc như:

v Đọc và chỉnh sửa nội dung của các tệp tin cấu hình(config file)

để chỉnh sửa các giá trị như chuỗi kết nối, tên c

khoản đăng nhập…

v Tải(upload) các tệp tin lên server.

n Ngoài ra việc thao tác với tệp tin còn cho phép ứng dụng có thể làm việc với các tệp tin XML thay cho cở sở dữ liệu.

Thao tác với tệp tin

c/ghi nội dung các tệp tin(file) có thể sử dụng cho một

và chỉnh sửa nội dung của các tệp tin cấu hình(config file)

chuỗi kết nối, tên cơ sở dữ liệu, tài

Tải(upload) các tệp tin lên server.

Ngoài ra việc thao tác với tệp tin còn cho phép ứng dụng có thể làm việc với các tệp tin XML thay cho cở sở dữ liệu.

Trang 4

I Thao tác với tệp tin

n Các bước tuần tự làm việc với tệp tin như sau:

v Bước 1: Mở/tạo tệp tin cần làm việc

– Hàm fopen()

v Bước 2: Thực hiện đọc/ghi nội dung

– Hàm fgets(), fgetc(), fread(), fputs(), fwrite()

– Hàm fclose()

I Thao tác với tệp tin

Các bước tuần tự làm việc với tệp tin như sau:

: Mở/tạo tệp tin cần làm việc: Thực hiện đọc/ghi nội dung

Hàm fgets(), fgetc(), fread(), fputs(), fwrite()

Trang 5

1 Mở tệp tin

n Để mở một file ta sử dụng hàm fopen() theo cú pháp:

fopen("filename", "mode");

filename Chỉ ra tên file, hoặc URL muốn mở.

mode Chỉ ra chế độ (kiểu truy xuất) mở file (r, r+, w, w+, r, r+, a, a+, x, x+)

Hàm fopen() trả về FALSE và lỗi nếu thất bại.Có thể thêm kí tự

trước tên hàm nếu không muốn hiển thị lỗi

Để mở một file ta sử dụng hàm fopen() theo cú pháp:

fopen("filename", "mode");

Chỉ ra tên file, hoặc URL muốn mở.

Chỉ ra chế độ (kiểu truy xuất) mở file (r, r+, w, w+, r, r+, a, a+, x, x+)

Hàm fopen() trả về FALSE và lỗi nếu thất bại.Có thể thêm kí tự @

trước tên hàm nếu không muốn hiển thị lỗi

Trang 6

1 Mở tệp tin

n Các chế độ mở file

r Mở file để đọc, con trỏ đọc

r+ Mở file để đọc/ghi, con trỏ đọc

w Mở file để ghi Mở và xóa nội dung đã có của file hoặc tạo file mới nếu file

chưa tồn tại w+ Mở file để đọc/ghi Mở và xóa nội dung đã có của file hoặc tạo file mới nếu

file chưa tồn tại

a Mở file để ghi Mở và ghi thêm nội dung vào cuối của file hoặc tạo file mới

nếu file chưa tồn tại a+ Mở file để đọc/ghi Mở và ghi thêm nội dung vào cuối của file

x Mở file để ghi Tạo một file mới Trả về FALSE và lỗi nếu file đã tồn tại

x+ Đọc/ghi Tạo một file mới Trả về FALSE và lỗi nếu file đã tồn tại

sẽ bắt đầu tại vị trí đầu tiên của file.

đọc sẽ bắt đầu tại vị trí đầu tiên của file.

ghi Mở và xóa nội dung đã có của file hoặc tạo file mới nếu file đọc/ghi Mở và xóa nội dung đã có của file hoặc tạo file mới nếu ghi Mở và ghi thêm nội dung vào cuối của file hoặc tạo file mới

đọc/ghi Mở và ghi thêm nội dung vào cuối của file ghi Tạo một file mới Trả về FALSE và lỗi nếu file đã tồn tại Đọc/ghi Tạo một file mới Trả về FALSE và lỗi nếu file đã tồn tại

Trang 8

3.Đóng tệp tin

n Đóng file: sau khi thao tác xong với các tệp tin thì ta phải

tin lại để giải phóng luồng Để đóng

Trang 9

2.Thao tác với tệp tin

n Để đọc nội dung của file ta có thể

từng ký tự.

n Việc đọc file được thực thi thông qua sự hỗ trợ của hàm feof()

v Hàm này có vai trò kiểm tra kết thúc file (trả về true nếu

v Thường được dùng để đọc dữ liệu từ tập tin không rõ kích thước

v Chú ý: không đọc được từ file mở theo chế độ: w, a, x

n Ví dụ:

<?php

if(feof($file))echo "end of file";

?>

nội dung của file ta có thể đọc theo từng dòng hoặc đọc

thực thi thông qua sự hỗ trợ của hàm feof()

Hàm này có vai trò kiểm tra kết thúc file (trả về true nếu đã đến cuối file)

Thường được dùng để đọc dữ liệu từ tập tin không rõ kích thước

Chú ý: không đọc được từ file mở theo chế độ: w, a, x

Trang 10

A Đọc nội dung file theo từng dòng

n Để đọc một dòng trong nội dung của file ta sử dụng hàm fgets():

n Ví dụ:

<?php

$file = fopen("welcome.txt", "r") or

exit("Unable to open file!");

//đọc qua từng dòng cho tới khi kết thúc.

while(!feof($file)){

echo fgets($file) "<br />";

} fclose($file);

?>

A Đọc nội dung file theo từng dòng

một dòng trong nội dung của file ta sử dụng hàm fgets():

$file = fopen("welcome.txt", "r") or

exit("Unable to open file!");

qua từng dòng cho tới khi kết thúc.

echo fgets($file) "<br />";

Trang 11

n Đọc và ghi ra từng ký tự của file cho tới khi kết thúc.

đọc lần lượt từng ký tự trong file:

Trang 12

II Ghi nội dung vào file

n Để ghi nội dung vào file đang mở ta sử dụng hàm fwrite().

fwrite(file,string,length);

file Chỉ ra file đang được mở để ghi.

string Chỉ ra chuỗi dữ liệu sẽ được ghi vào file

length Chỉ ra số byte tối đa được ghi vào file

Hàm fwrite() trả về FALSE nếu thất bại, ngược lại trả về số byte đã

được ghi vào file

Có thể dùng hàm này để ghi dữ liệu nhị phân, hoặc dữ liệu kí tự

II Ghi nội dung vào file

ghi nội dung vào file đang mở ta sử dụng hàm fwrite().

fwrite(file,string,length);

Chỉ ra file đang được mở để ghi.

Chỉ ra chuỗi dữ liệu sẽ được ghi vào file Chỉ ra số byte tối đa được ghi vào file

Hàm fwrite() trả về FALSE nếu thất bại, ngược lại trả về số byte đã

Có thể dùng hàm này để ghi dữ liệu nhị phân, hoặc dữ liệu kí tự

Trang 13

II Ghi nội dung vào file

n Hàm fwrite() cho phép ta ghi bất cứ dạng dữ liệu nào vào file.

n Trong trường hợp sử dụng fwrite() với tham số "w" và file

thì nội dung của file sẽ bị xoá trắng và ghi dữ liệu mới vào file.

n Trong trường hợp cần ghi thêm nội dung vào file ta có thể sử dụng hàm fwrite() với tham số mở file cho phép nối thêm.

II Ghi nội dung vào file

Hàm fwrite() cho phép ta ghi bất cứ dạng dữ liệu nào vào file.

hợp sử dụng fwrite() với tham số "w" và file đã tồn tại thì nội dung của file sẽ bị xoá trắng và ghi dữ liệu mới vào file.

hợp cần ghi thêm nội dung vào file ta có thể sử dụng hàm fwrite() với tham số mở file cho phép nối thêm.

Trang 14

II Ghi nội dung vào file

Trang 15

II Ghi nội dung vào file

n Ví dụ Ghi thêm nội dung vào file

II Ghi nội dung vào file

Ví dụ Ghi thêm nội dung vào file

Ví dụ Ghi thêm nội dung vào file đã đã có có

$filename = "welcome.txt";

$file = fopen($filename, "a") or die("can't open file");

Trang 16

III Upload File

n Chức năng upload file cho phép ta có thể copy các file lên th

n Để thực thi thao tác upload PHP hỗ trợ

n $_FILES["filefield_name"]["name"] - lấy hoặc thiết lập tên file upload

n $_FILES["filefield_name"]["type"] - chỉ

n $_FILES["filefield_name"]["size"] – dung l

n $_FILES["filefield_name"]["error"] - lỗi trả về trong quá trình upload file

n $_FILES["filefield_name"]["tmp_name"]

ng upload file cho phép ta có thể copy các file lên thư mục của server

thực thi thao tác upload PHP hỗ trợ đối tượng nội tại $_FILE;

lấy hoặc thiết lập tên file uploadchỉ định kiểu file upload

dung lượng của file upload(tính bằng byte) lỗi trả về trong quá trình upload file

$_FILES["filefield_name"]["tmp_name"] : đối tượng lưu tạm thời trên server.

Trang 17

A Tạo Form upload

n Tạo một form để upload file và đặt thuộc tính cho form như sau:

upload là nhị phân).

<form action="upload_file.php"

Please choose a file:

<input type="file" name="imagefile" id="file" /> <br />

<input type="submit" name="submit" value="Submit" />

</form>

Tạo một form để upload file và đặt thuộc tính cho form như sau:

POST multipart/form-data (dùng chỉ ra dữ liệu

<form action="upload_file.php" method="post"

enctype="multipart/form-data">

<input type="file" name="imagefile" id="file" /> <br />

<input type="submit" name="submit" value="Submit" />

Trang 18

Hiển thị các thông tin về tiến trình upload

echo "Type: " $_FILES["imagefile"]["type"] "<br />";

echo "Size: " ($_FILES["imagefile"]["size"] / 1024) " Kb<br />";

echo "Stored in: " $_FILES["imagefile"]["tmp_name"];

Hiển thị các thông tin về tiến trình upload

if ($_FILES["file"]["error"] > 0)

echo "Error: " $_FILES["imagefile"]["error"] "<br

echo "Upload: " $_FILES["imagefile"]["name"] "<br

echo "Type: " $_FILES["imagefile"]["type"] "<br />";

echo "Size: " ($_FILES["imagefile"]["size"] / 1024) " echo "Stored in: " $_FILES["imagefile"]["tmp_name"];

Trang 20

{

echo "Upload: " $_FILES["imagefile"]["name"] "<br />";

echo "Type: " $_FILES["imagefile"]["type"] "<br />";

echo "Size: " ($_FILES["imagefile"]["size"] / 1024) " Kb<br />";

echo "Stored in: " $_FILES["imagefile"]["tmp_name"];

- Trong đoạn code trên ta khống chế kiểu file upload và dung l

echo "Upload: " $_FILES["imagefile"]["name"] "<br />";

echo "Type: " $_FILES["imagefile"]["type"] "<br />";

echo "Size: " ($_FILES["imagefile"]["size"] / 1024) " Kb<br />";

echo "Stored in: " $_FILES["imagefile"]["tmp_name"];

oạn code trên ta khống chế kiểu file upload và dung lượng tối đa có thể upload

Trang 21

C L

C Lư ưu file vào th u file vào thư ư mục mục

n Lúc này file đang được lưu trong

file trên thư mục của server.

if (file_exists("upload/" $_FILES["imagefile"]["name"]))

{

echo $_FILES["imagefile"]["name"] " already exists ";

} else

Ngày đăng: 21/01/2018, 11:14

TỪ KHÓA LIÊN QUAN

w