PHP Tutorial part 15
Số trang: 4
Loại file: pdf
Dung lượng: 127.92 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Một số thao tác với file Làm việc với hệ thống file trên web server là một việc không mấy khó khăn trong PHP. Bài hôm nay sẽ đề cập đến Một số thao tác với file trong PHP. 1. Mở file Để mở file trong PHP, ta sử dụng hàm fopen. Hàm này nhận 2 đối số: tên file và chế độ. Cách sử dụng như sau: PHP Code: $handle = fopen(filename, mode
Nội dung trích xuất từ tài liệu:
PHP Tutorial part 15 Một số thao tác với fileLàm việc với hệ thống file trên web server là một việc không mấy khó khăn trong PHP.Bài hôm nay sẽ đề cập đến Một số thao tác với file trong PHP.1. Mở fileĐể mở file trong PHP, ta sử dụng hàm fopen. Hàm này nhận 2 đối số: tên file và chế độ.Cách sử dụng như sau:PHP Code:$handle = fopen(filename, mode);Filename là một xâu cho thấy đường dẫn tới file cần mở. Ví dụ:/home/httpd/webapp/logs/errorlog.logMode chỉ ra cách thức ta muốn mở file. Sau đây là các giá trị có thể có của mode:r File mở ở trạng thái chỉ đọc. Con trỏ file đặt ở đầu file.r+ File mở ở trạng thái cả đọc và ghi. Con trỏ file đặt ở đầu file.w File mở ở trạng thái chỉ ghi. Nếu file ko tồn tại, nó sẽ được tạo. Nếu file tồn tại, nộidung sẽ bị xóa. Con trỏ file đặt ở đầu file.w+ File mở ở trạng thái cả đọc và ghi. Nếu file tồn tại, nội dung sẽ bị xóa. Nếu ko tồn tại,file sẽ được tạo. Con trỏ file đặt ở đầu file.a File mở ở trạng thái ghi thêm. Con trỏ file đặt ở cuối file.a+ File mở ở trạng thái đọc và ghi thêm. Con trỏ file đặt ở cuối file.x File sẽ được tạo ở trạng thái chỉ ghi. Nếu file tồn tại, hàm trả giá trị FALSE. Nếu filechưa có, hiển nhiên nó sẽ được tạo.x+ File sẽ được tạo ở trạng thái cả đọc và ghi. Nếu file tồn tại, hàm trả giá trị FALSE.Nếu file chưa có, hiển nhiên nó sẽ được tạo.2. Mở 1 file từ xa (remote file)Để mở 1 file ko nằm trong máy chủ local, ta có thể sử dụng hàm fopen như bình thường,chỉ khác filename là địa chỉ của file cần mở. Ví dụ như sau:PHP Code:$handle = fopen(http://fileserver/userdata.csv, r);3. Đóng fileSau khi hoàn tất các lệnh với file, bạn cần phải đóng file lại để báo cho PHP biết mọi việcđã kết thúc. Nó đảm bảo rằng nội dung file đã được ghi xuống một cách đầy đủ. Ta chỉviệc dùng hàm fclose:PHP Code:fclose($file);4. Đọc fileBạn có thể dùng một số hàm khác nhau để đọc file.Hàm fgets đọc một dòng trong file text và trả lại kết quả là dòng đó.Hàm fgetc đọc một ký tự duy nhất và trả lại kết quả là ký tự đó.Hàm fread đọc dữ liệu nhị phân và trả lại giá trị vào một buffer.Để kiểm tra xem đã hết file hay chưa, ta sử dụng feof. Hàm này trả về giá trị TRUE nếuđã hết file, FALSE nếu vẫn chưa hết. Cần nhớ, chúng ta phải quan tâm đến vị trí của contrỏ file. Con trỏ file có thể ở vị trí bắt đầu file (0), hoặc ở cuối file, hoặc ở chỗ nào đótrong file.Giờ ta xét ví dụ sau:PHP Code:function read_text_file($in_filename) { $file = fopen($in_filename, r); $output = array(); while (!feof($file)) { $buf = fgets($file); $output[] = $buf; } fclose($file); return $output;}Bạn có thể đoán được: Hàm read_text_file() trên đây nhận vào một đối số là tên file, sauđó trả về một mảng $output chứa nội dung file, mỗi phần tử trong mảng là 1 dòng. Cụthể:Hàm fopen() ban đầu sẽ mở file ở chế độ chỉ đọc.Hàm $output được khởi tạo là rỗng.Chừng nào vẫn còn chưa hết file, ta lần lượt dùng fgets() đọc từng dòng trong file và đưavào biến $buf. Sau đó gán $buf cho 1 phần tử của mảng $output.Cuối cùng, ta đóng file đó lại và trả về mảng $output.Cũng còn một cách khác để đọc file, đó là sử dụng hàm file_get_contents. Khi sử dụnghàm này, toàn bộ nội dung file sẽ được trả về trong một xâu duy nhất. Rất tiện lợi, và bạnko cần phải dùng đến hàm fopen hay fclose. Cứ để PHP tự lo lấy!5. Ghi fileKhi làm việc với file text, ta ghi file bằng hàm fwrite như sau:PHP Code:$fruit = array( apple, orange, banana, peach); $file = fopen(fruity.txt, w); foreach ($fruit as $string) { $result = fwrite($file, $string); } fclose($file);Cực kỳ đơn giản phải ko bạn? Đoạn code trên mở file dưới dạng chỉ ghi, sau đó lần lượtduyệt qua các phần từ của mảng $fruit và ghi chúng vào file.Tuy vậy, khi làm việc với file nhị phân, chúng ta cần bổ sung thêm một đối số cho hàmfwrite. Như ví dụ sau đây:PHP Code:$binary_data = get_image_bytes(); $file = fopen(imagedata.jpg, w); $result = @fwrite($file, $binary_data, mb_strlen($binary_data, 8bit)); fclose($file);Đối số thứ 3, ở trong ví dụ trên là mb_strlen($binary_data, 8bit) sẽ xác định một cáchchính xác số lượng byte ghi vào file. Nếu ko có giá trị này, ta sẽ gặp những kết quả ko thểdự đoán trước.Vậy là sau bài này chúng ta đã biết thêm một chút về Một số thao tác khi làm việc với filetrong PHP, bao gồm Mở, ĐÓng, Đọc và Ghi file. Bài tiếp theo sẽ đi vào nghiên cứuPermission của file cũng như một số vấn đề quan trọng khác.identical(UDS) ...
Nội dung trích xuất từ tài liệu:
PHP Tutorial part 15 Một số thao tác với fileLàm việc với hệ thống file trên web server là một việc không mấy khó khăn trong PHP.Bài hôm nay sẽ đề cập đến Một số thao tác với file trong PHP.1. Mở fileĐể mở file trong PHP, ta sử dụng hàm fopen. Hàm này nhận 2 đối số: tên file và chế độ.Cách sử dụng như sau:PHP Code:$handle = fopen(filename, mode);Filename là một xâu cho thấy đường dẫn tới file cần mở. Ví dụ:/home/httpd/webapp/logs/errorlog.logMode chỉ ra cách thức ta muốn mở file. Sau đây là các giá trị có thể có của mode:r File mở ở trạng thái chỉ đọc. Con trỏ file đặt ở đầu file.r+ File mở ở trạng thái cả đọc và ghi. Con trỏ file đặt ở đầu file.w File mở ở trạng thái chỉ ghi. Nếu file ko tồn tại, nó sẽ được tạo. Nếu file tồn tại, nộidung sẽ bị xóa. Con trỏ file đặt ở đầu file.w+ File mở ở trạng thái cả đọc và ghi. Nếu file tồn tại, nội dung sẽ bị xóa. Nếu ko tồn tại,file sẽ được tạo. Con trỏ file đặt ở đầu file.a File mở ở trạng thái ghi thêm. Con trỏ file đặt ở cuối file.a+ File mở ở trạng thái đọc và ghi thêm. Con trỏ file đặt ở cuối file.x File sẽ được tạo ở trạng thái chỉ ghi. Nếu file tồn tại, hàm trả giá trị FALSE. Nếu filechưa có, hiển nhiên nó sẽ được tạo.x+ File sẽ được tạo ở trạng thái cả đọc và ghi. Nếu file tồn tại, hàm trả giá trị FALSE.Nếu file chưa có, hiển nhiên nó sẽ được tạo.2. Mở 1 file từ xa (remote file)Để mở 1 file ko nằm trong máy chủ local, ta có thể sử dụng hàm fopen như bình thường,chỉ khác filename là địa chỉ của file cần mở. Ví dụ như sau:PHP Code:$handle = fopen(http://fileserver/userdata.csv, r);3. Đóng fileSau khi hoàn tất các lệnh với file, bạn cần phải đóng file lại để báo cho PHP biết mọi việcđã kết thúc. Nó đảm bảo rằng nội dung file đã được ghi xuống một cách đầy đủ. Ta chỉviệc dùng hàm fclose:PHP Code:fclose($file);4. Đọc fileBạn có thể dùng một số hàm khác nhau để đọc file.Hàm fgets đọc một dòng trong file text và trả lại kết quả là dòng đó.Hàm fgetc đọc một ký tự duy nhất và trả lại kết quả là ký tự đó.Hàm fread đọc dữ liệu nhị phân và trả lại giá trị vào một buffer.Để kiểm tra xem đã hết file hay chưa, ta sử dụng feof. Hàm này trả về giá trị TRUE nếuđã hết file, FALSE nếu vẫn chưa hết. Cần nhớ, chúng ta phải quan tâm đến vị trí của contrỏ file. Con trỏ file có thể ở vị trí bắt đầu file (0), hoặc ở cuối file, hoặc ở chỗ nào đótrong file.Giờ ta xét ví dụ sau:PHP Code:function read_text_file($in_filename) { $file = fopen($in_filename, r); $output = array(); while (!feof($file)) { $buf = fgets($file); $output[] = $buf; } fclose($file); return $output;}Bạn có thể đoán được: Hàm read_text_file() trên đây nhận vào một đối số là tên file, sauđó trả về một mảng $output chứa nội dung file, mỗi phần tử trong mảng là 1 dòng. Cụthể:Hàm fopen() ban đầu sẽ mở file ở chế độ chỉ đọc.Hàm $output được khởi tạo là rỗng.Chừng nào vẫn còn chưa hết file, ta lần lượt dùng fgets() đọc từng dòng trong file và đưavào biến $buf. Sau đó gán $buf cho 1 phần tử của mảng $output.Cuối cùng, ta đóng file đó lại và trả về mảng $output.Cũng còn một cách khác để đọc file, đó là sử dụng hàm file_get_contents. Khi sử dụnghàm này, toàn bộ nội dung file sẽ được trả về trong một xâu duy nhất. Rất tiện lợi, và bạnko cần phải dùng đến hàm fopen hay fclose. Cứ để PHP tự lo lấy!5. Ghi fileKhi làm việc với file text, ta ghi file bằng hàm fwrite như sau:PHP Code:$fruit = array( apple, orange, banana, peach); $file = fopen(fruity.txt, w); foreach ($fruit as $string) { $result = fwrite($file, $string); } fclose($file);Cực kỳ đơn giản phải ko bạn? Đoạn code trên mở file dưới dạng chỉ ghi, sau đó lần lượtduyệt qua các phần từ của mảng $fruit và ghi chúng vào file.Tuy vậy, khi làm việc với file nhị phân, chúng ta cần bổ sung thêm một đối số cho hàmfwrite. Như ví dụ sau đây:PHP Code:$binary_data = get_image_bytes(); $file = fopen(imagedata.jpg, w); $result = @fwrite($file, $binary_data, mb_strlen($binary_data, 8bit)); fclose($file);Đối số thứ 3, ở trong ví dụ trên là mb_strlen($binary_data, 8bit) sẽ xác định một cáchchính xác số lượng byte ghi vào file. Nếu ko có giá trị này, ta sẽ gặp những kết quả ko thểdự đoán trước.Vậy là sau bài này chúng ta đã biết thêm một chút về Một số thao tác khi làm việc với filetrong PHP, bao gồm Mở, ĐÓng, Đọc và Ghi file. Bài tiếp theo sẽ đi vào nghiên cứuPermission của file cũng như một số vấn đề quan trọng khác.identical(UDS) ...
Tìm kiếm theo từ khóa liên quan:
máy tính mạng máy tính internet phần mềm ứng dụng lập trình dữ liệu SQL PHP AutoITGợi ý tài liệu liên quan:
-
Giáo án Tin học lớp 9 (Trọn bộ cả năm)
149 trang 246 0 0 -
Ngân hàng câu hỏi trắc nghiệm môn mạng máy tính
99 trang 235 1 0 -
47 trang 234 3 0
-
Đề cương chi tiết học phần Thiết kế và cài đặt mạng
3 trang 229 0 0 -
Giáo trình Hệ thống mạng máy tính CCNA (Tập 4): Phần 2
102 trang 227 0 0 -
Bài giảng: Lịch sử phát triển hệ thống mạng
118 trang 227 0 0 -
80 trang 197 0 0
-
Giáo trình Hệ thống mạng máy tính CCNA (Tập 4): Phần 1
122 trang 196 0 0 -
122 trang 191 0 0
-
Giáo trình môn học/mô đun: Mạng máy tính (Ngành/nghề: Quản trị mạng máy tính) - Phần 1
68 trang 183 0 0