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

Bài giảng PHP (Hypertext Preprocessing) - Chương 4: Làm việc với file

14 66 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 14
Dung lượng 327,03 KB

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

Nội dung

Bài giảng PHP (Hypertext Preprocessing) - Chương 4: Làm việc với file trình bày các nội dung chính sau: Sử dụng include(), sử dụng include_once() và include_path cho các dự án lớn, kiểm tra file, đọc, ghi file, làm việc với thư mục,... Mời các bạn cùng tham khảo để nắm nội dung chi tiết.

Trang 1

IV Làm việc với file

IV.1 Sử dụng include()

IV.2 Sử dụng include_once() và include_path cho các dự án lớn

IV.3 Kiểm tra file

IV.4 Đọc, ghi file

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

Trang 2

IV.1 Sử dụng include()

 Lệnh include() cho phép bạn phối hợp giữa các file trong một PHP project, ko giống như cú pháp #include của ngôn ngữ C, lệnh này không chèn mã lệnh vào file mà thực thi file php giống như cú pháp gọi hàm

 include() sử dụng để chia sẻ các hàm dùng chung, các đoạn

mã chung trong một project có nhiều file

 Nếu không tìm thấy file, include() thông báo warning nhưng

không dừng chương trình

 PHP cung cấp 1 lệnh tương tự include() là require(), lệnh này

có sự khác biệt là sẽ dừng ngay chương trình khi không tìm thấy file

Trang 3

IV.1 Sử dụng include() (2)

 <! File1.php->

<?php

echo "This is from file 1 \n " ;

?>

 <! File2.php ->

<?php

echo "This is from file 2 \n " ;

include( "file1.php" );

include( "file3.php" );

echo "This is from file 2 \n " ;

?>

Trang 4

IV.1 Sử dụng include() (3)

 Vì include() thực hiện lời gọi đến file php, do đó bạn có thể trả

về giá trị từ file PHP được include

 <! File11.php >

<?php

return 4 + 4;

?>

 <! File12.php >

<?php

echo "This is from file 12\n";

$retVal = include("file11.php");

echo "Return value from file 11: \$retVal=

$retVal \n";

echo "This is from file 12\n";

?>

Trang 5

IV.1 Sử dụng include() (4)

 Bạn có thể đặt lệnh include bên trong 1 cấu trúc điều kiện hoặc cấu trúc lặp, khi đó tùy theo điều kiện của cấu trúc mà include()

có được thực hiện hay không, 1 hay nhiều lần

<! File22.php >

<?php

if ( $j ==null) $j =10; else $j ++;

return $i + $j ;

?>

<! File21.php >

<?php

for ( $i =0; $i <10; $i ++) {

echo include("File22.php"), " \n ";

}

?>

Trang 6

IV.2 Sử dụng include_once() và include_path cho các dự án lớn

 include_once() giống như include(), tuy nhiên có điểm khác biệt là chỉ include 1 lần, lần sau nếu gặp lại file này thì ko include nữa

 include_once() sử dụng cho các hàm thư viện dùng chung để

tránh trường hợp khi nhiều file cùng include đến 1 file, sau đó các file này lại include lẫn nhau (so sánh với #ifdefine trong file header của ngôn ngữ C)

 include_once() phân biệt chữ hoa, chữ thường

<?php

include_once("a.php"); // this will include a.php include_once("A.php"); // this will include a.php

again on Windows!

?>

Trang 7

IV.2 Sử dụng include_once() và include_path cho các dự án lớn (2)

 Trong quá trình làm việc, bạn hẳn có nhiều hàm được dùng chung giữa nhiều file trong 1 project, giữa nhiều project Để sử dụng các hàm này, bạn có thể áp dụng các cách sau:

– include file theo đường dẫn tuyệt đối: Cách này dở vì khi cài đặt trên máy khác sẽ không tìm thấy file được include

– include file theo đường dẫn tương đối: Cách này tốt hơn,

nhưng mỗi khi đổi vị trí của file được include thì phải sửa lại tại tất cả các file thực hiện lời gọi include

– Cách tốt nhất là sử dụng include_path (thiết lập trong file

PHP.INI) đối với những file thư viện dùng chung được sử

dụng nhiều (giống như đối với ngôn ngữ C)

Trang 8

IV.2 Sử dụng include_once() và

include_path cho các dự án lớn (3)

Để thiết lập include_path, bạn có những cách sau:

- thay đổi include_path trong PHP.INI

- dùng lệnh set_include_path()

<?php var_dump (get_include_path());

set_include_path( '/inc' ); // Works as of PHP 4.3.0

var_dump (get_include_path());

restore_include_path();

var_dump (get_include_path());

?>

- dùng lệnh ini_set()

<?php var_dump ( ini_get ( "include_path" ));

ini_set ( "include_path" , "/inc" ); // Works in all PHP versions

var_dump ( ini_get ( "include_path" ));

ini_restore ( "include_path" );

var_dump ( ini_get ( "include_path" ));

?>

Trang 9

IV.3 Kiểm tra file

file_exist(), is_file(), is_dir(), is_readable(), is_writeable(), is_executable(), filesize(),

fileatime()

<?php

if ( ! file_exists ( $file ) ) {

}

print " $file is " ( is_file ( $file )? "" : "not " ) "a file<br/>\n" ;

print " $file is " ( is_dir ( $file )? "" : "not " ) "a

directory<br/>\n" ;

print " $file is " ( is_readable ( $file )? "" : "not

" ) "readable<br/>\n" ;

print " $file is " ( is_writable ( $file )? "" : "not

" ) "writable<br/>\n" ;

print " $file is " ( filesize ( $file )) " bytes<br/>\n" ;

date ( "D d M Y g:i A" , fileatime ( $file ) ) "<br/>\n" ;

date ( "D d M Y g:i A" , filemtime ( $file ) ) "<br/>\n" ;

date ( "D d M Y g:i A" , filectime ( $file ) ) "<br/>\n" ; }

?>

Trang 10

IV.4 Đọc, ghi file

fopen ( $filename , $mode );

fwrite ( $handle , $string );

fread ( $handle , $length );

fgets ( $handle );

sprintf ( $format );

fscanf ( $handle , $format );

fseek ( $handle , $offset );

fclose ( $handle );

file_get_contents ( $filename );

Trang 11

IV.4 Đọc, ghi file (2)

<?php

$var1 = 10 ;

$var2 = "This is a String" ;

$var3 = true;

$f = fopen ( "test.txt" , "wt" );

fwrite ( $f , " $var1 $var2 $var3 \n" );

fwrite ( $f , " $var1 \n $var2 \n $var3 \n" );

fclose ( $f );

echo "Read line by line \n" ;

$f = fopen ( "test.txt" , "rt" );

while (! feof ( $f )) {

$line = fgets ( $f );

echo " $line " ;

}

fclose ( $f );

echo "Read all file by fread \n" ;

$f = fopen ( "test.txt" , "rb" );

$myfile = fread ( $f , filesize ( "test.txt" )); echo $myfile ;

fclose ( $f );

echo "Read all file \n" ;

$myfile = file_get_contents ( "test.txt" ); echo( $myfile );

?>

Trang 12

IV.4 Đọc, ghi file (3)

 <?php

$var1 =10;

$var2 =100;

$var3 = 100.3434 ;

$var4 = "Test string" ;

$f = fopen ( "test.txt" , "wt" );

fwrite ( $f , sprintf ( "%d %10.3f %10.3lf\n\r" , $var1 , $var2 , $var3 )); fwrite ( $f , sprintf ( "%s" , $var4 ));

fclose ( $f );

$f = fopen ( "test.txt" , "rt" );

if (list($v1 , $v2 , $v3 , $v4 ) = fscanf ( $f , "%d %f %lf\n\r%s" )) { var_dump ( $v1 );

var_dump ( $v2 );

var_dump ( $v3 );

var_dump ( $v4 );

}

$v4 = fgets ( $f );

var_dump ( $v4 );

fclose ( $f );

?>

Trang 13

IV.4 Đọc, ghi file (4)

 <?php

class AClass {

};

$ob1 =& new AClass();

$ob1 ->a = 10;

$ob1 ->b = 100.023 ;

$ob1 ->c = "Test String" ;

var_dump ( $ob1 );

$f = fopen ( "test.txt" , "wb" );

fwrite ( $f , serialize ( $ob1 ));

fclose ( $f );

$f = fopen ( "test.txt" , "rb" );

$ob2 = unserialize ( fgets ( $f ));

fclose ( $f );

var_dump ( $ob2 );

?>

Trang 14

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

 mkdir(), rmdir(), opendir(), readdir(), closedir()

 <?php

$dir = opendir ( "c: \\ windows" );

while ( $file = readdir ( $dir )) {

echo "$file \n " ;

}

closedir ( $dir );

?>

Ngày đăng: 11/01/2020, 19:50

TỪ KHÓA LIÊN QUAN