1. Trang chủ
  2. » Công Nghệ Thông Tin

PHP Xử Lý Tệp Tin Tài Liệu IT

30 284 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 30
Dung lượng 441 KB

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

Nội dung

Mở tập tinĐọc tập tinGhi tập tinĐóng tập tinThao tác đọcghi nội dung các tệp tin(file) có thể sử dụng cho một vài công việc như: Đọ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ơ sở dữ liệu, tài khoản đăng nhập…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 1

Xử lý Tệp Tin Trong PHP

Trang 3

Thao tác với tệp tin

 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ư:

hình(config file) để chỉnh sửa các giá trị như

chuỗi kết nối, tên cơ sở dữ liệu, tài khoản đăng nhập…

 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

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:

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

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

Bước 3: Đóng tệp tin

Trang 5

Mở tệp tin

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

fopen("filename", "mode");

filename Chỉ ra tên file, hoặc URL đến file cầ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

Trang 6

Mở tệp tin

r Mở file để đọc(Read-Only), con trỏ đọc sẽ bắt đầu tại vị trí đầu tiên của file.

r+ Mở file để đọc/ghi(Read-Write), con trỏ đọc sẽ bắt đầu tại vị trí đầu tiên của file.

w Mở file để ghi(Write-Only) 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(Write-Read) 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(chỉ 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 Nếu file chưa tồn tại se tạo

mới

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

Trang 8

Đóng tệp tin

 Đóng file: sau khi thao tác xong với các tệp tin thì ta phải đóng tệp tin lại để giải phóng

luồng Để đóng 1 file đang mở ta sử dụng hàm fclose() theo cú pháp.

Trang 9

Thao tác với tệp tin

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

 Việc đọc file đượ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

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

Trang 11

Đọc từng dòng

 Hàm fgets() được sử dụng để đọc từng dòng từ nội dung của file:

 Ví dụ sau đọc từng dòng nội dung trong file welcome.txt:

<?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.

Trang 12

Đọc toàn bộ nội dung

 Có thể đọc toàn bộ nội dung của một file vào một biến chuỗi bằng hàm sau:

context Tùy chọn Chỉ ra ngữ cảnh của xử lý file Có thể để tham số này là NULL

nếu không cần sử dụng context tùy biến start Tùy chọn Chỉ ra vị trí trong tập tin là nơi bắt đầu đọc

max_length Tùy chọn Chỉ ra bao nhiêu byte được đọc

Trang 13

Ghi nội dung vào file

//Nối thêm một person mới vào chuỗi chứa nội dung đọc được từ file

$current = "John Smith\n";

//Ghi nội dung đọc được quay lại file file_put_contents($file, $current);

Trang 14

Ghi nội dung vào file

 Cách 2 để 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ự

Trang 15

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

 Trong trường 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

 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

Trang 16

Ghi nội dung vào file

Trang 17

Ghi nội dung vào file

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

Trang 18

Xóa file

 Sử dụng hàm unlink() để xóa một file trong PHP

 Ví dụ sau minh họa xóa file vanban.txt nếu file này có tồn tại

unlink('đường dẫn tới file')

Hàm unlink() trả về FALSE nếu thất bại, ngược lại trả về TRUE

Trang 19

Copy file

 Sử dụng hàm copy() để sao chép một file trong PHP

 Ví dụ sau minh họa xóa file vanban.txt nếu file này có tồn tại

copy(string $source, string $dest )

Trong đó thì $source là file cần copy (file nguồn), $dest là file sẽ lưu

sau khi copy (file đích),hàm copy sẽ trả về giá trị true nếu copy

thành công,và ngược lại trả về false

<?php

$file = 'vanban.txt';

$newfile = 'example.txt';

if (!copy($file, $newfile)) { echo "Có lỗi trong quá trình copy file $file \n";

Trang 20

Làm việc với thư mục

 Hàm tạo thư mục mới

mkdir( $pathname, $mode )

pathname Chỉ ra đường dẫn tới thư mục cần tạo

mode Gán quyền truy cập dữ liệu, mặc định là 0777 (toàn quyền: ghi, xóa,

sửa,…)

<?php

mkdir("uploads/product");

?>

Trang 21

Làm việc với thư mục

 Hàm kiểm tra xem có phải là một thư mục không

 Ví dụ

is_dir($dir)

<?php

if(is_dir("uploads/product")){

echo "Tồn tại thư mục";

}

?>

Trang 22

Làm việc với thư mục

rmdir ("uploads/product") ;}

?>

Trang 23

Làm việc với thư mục

getcwd(): Lấy đường dẫn thư mục

dirname( $path_to_dir_or_file ):Lấy đườngdẫn thư mục cha của thư

mục hoặc tập tin đang làm việc

opendir( $path_to_dir ): Mở một thư mục để làm việc

scandir( $path_to_dir): Trả về mảng chứa danh sách file và thư

mục hiện có trong thư mục $path_to_dir

rename( $oldname, $newname ): Đổi tên file hoặc thư mục

glob(): Lấy các danh sách file và thư mục

Trang 24

Upload File

 Chức nă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;

 Ta có bảng các lựa chọn với $_FILE:

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

 $_FILES["filefield_name"]["type"] - chỉ định kiểu file upload

 $_FILES["filefield_name"]["size"] – dung lượng của file upload(tính bằng byte)

 $_FILES["filefield_name"]["error"] - 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 25

A Tạo Form upload

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

Thuộc tính method giá trị là POST

Thuộc tính enctype giá trị là multipart/form-data (dùng chỉ ra

dữ liệu upload là nhị phân).

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

enctype="multipart/form-data">

Please choose a file:

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

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

</form>

Trang 26

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

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"];

}

?>

Trang 27

B.Hiệu chỉnh các điều kiện khi upload file

Trang 28

{

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

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

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

Trang 29

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

 Lúc này file đang được lưu trong đối tượng tạm thời, ta phải lưu ra file trên thư mục của server.

Trang 30

PHP - Copy image to my server direct from URL  

Ngày đăng: 23/09/2015, 16:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w