Phạm vi hoạt động của các biến trong và ngoài hàm

Một phần của tài liệu Tự học thiết kế web html (Trang 60 - 62)

Chú ý rằng khi ta sử dụng các biến bên trong hàm, mặc định, các biến đó được coi là biến cục bộ của hàm, chứ không phải là biến toàn cục của chương trình.

Để thiết lập hoặc lấy giá trị của các biến toàn cục, chúng ta có thể sử dụng 1 trong 2 cách sau đây: Cách 1: Dùng khai báo GLOBAL để khai báo các biến toàn cục

Cách 2: Sử dụng mảng $GLOBALS["tên_biến_toàn_cục"]. Ví dụ: <? $x=1; $y=3; function cong () { return $x+$y; } ?>

Khi ta gọi hàm cong() ở trên sẽ cho ra kết quả bằng 0 (vì $x và $y lúc này được coi là biến cục bộ và có giá trị bằng 0.

Để chương trình chạy đúng, ta phải làm như sau: Cách 1: <? $x=1; $y=3; function cong () { GLOBAL $x, $y return $x+$y; } ?> Cách 2: <? $x=1; $y=3; function cong () { return $GLOBALS["x"]+$GLOBALS["y"]; } ?> __________________

Bài 16: Xử lý thư mục, tệp tin và các file upload

Bài viết này tập trung vào việc điều khiển hệ thống tệp tin và thư mục trên máy chủ (không phải máy khách). Bài này được chia làm các phần sau:

Phần 1: Các hàm căn bản xử lý tệp và thư mục Phần 2: Cách thức truy xuất dữ liệu từ tệp tin. Phần 3: Tải file lên máy chủ.

Phần I. Các hàm cơ bản để xử lý tệp và thư mục I. Một số hàm xử lý thư mục

1. Thay đổi thư mục gốc

Để thay đổi thư mục gốc, ta dùng hàm chroot Cú pháp:

bool chroot ( string directory)

Hàm này trả về true nếu như thư mục gốc được chuyển đổi thành thư mục có đường dẫn là directory.

2. Thay đổi thư mục hiện hành Cú pháp:

bool chdir ( string directory)

Thay đổi thư mục hiện hành sang thư mục có đường dẫn là directory. Hàm trả về TRUE nếu thành công, ngược lại là FALSE.

3. Trả về thư mục hiện hành

Để lấy đường dẫn của thư mục hiện hành, ta dùng hàm getcwd: string getcwd ()

4. Hiển thị danh sách các tệp và thư mục con của một thư mục nào đó: Để làm điều này, ta dùng hàm scandir

VD: <?php $dir = '/source'; $files1 = scandir($dir); print_r($files1); ?>

hơ hơ, đây chính là cách mà mấy con remview hoặc backdoor của mấy chú hacker hay sử dụng để duyệt qua các tệp và thư mục trên máy chủ đây mà Grin

5. Tạo một thư mục mới

Để tạo một thư mục mới trên máy chủ, ta dùng hàm mkdir():

bool mkdir ( string pathname [, int mode [, bool recursive [, resource context]]]) VD:

<?php

mkdir("/uploads/images"); // tạo một thư mục images trong thư mục uploads ở thư mục gốc của website.

?>

6. Xoá một thư mục

Để xoá một thư mục mới trên máy chủ, ta dùng hàm rmdir(): bool rmdir (string pathname)

VD: <?php

rmdir("/uploads/images"); // Xoá thư mục images trong thư mục uploads ở thư mục gốc của website.

?>

II. Một số hàm xử lý tệp tin 1. Đổi tên tệp tin:

Để đổi tên tệp tin, ta dùng hàm rename: bool rename ( string oldname, string newname)

Hàm này sẽ cố gắng đổi tên từ oldname sang tên mới (newname). Hàm sẽ trả về TRUE nếu thành công, ngược lại là FALSE

2. Xóa tệp tin

Để xóa tên tệp tin, ta dùng hàm unlink() hoặc delete(): int unlink ( string filename)

Hàm này sẽ xóa file có đường dẫn (tên) là filename. Trả về TRUE nếu thành công, ngược lại là FALSE

3. Copy file

Để copy file, ta dùng hàm copy có cấu trúc như sau: int copy ( string source, string dest)

Hàm này sẽ tạo ra một bản copy file nguồn (sourse) sang file đích (dest). Hàm trả về TRUE nếu thành công, ngược lại là FALSE

Ví dụ: <?

// Tạo ra một file backup của file có tên là $file. File backup sẽ được bổ sung phần đuôi mới là .bak:

if (!copy($file, $file.'.bak')) { print ("Lỗi copy $file...<br>\n"); }

?>

Hàm kiểm tra sự tồn tại của một file:

Khi xử lý các file, ta thường kiểm tra xem file có tồn tại hay không trước khi tiến hành các thao tác đọc, ghi dữ liệu:

Cú pháp:

bool file_exists ( string filename)

Một phần của tài liệu Tự học thiết kế web html (Trang 60 - 62)

w