Hướng dẫn dùng renamw trong PHP

- Hàm rename() dùng để sửa tên một tập tin hoặc thư mục được lưu trên máy chủ của bạn.

- Cú pháp:

rename(tên cũ, tên mới)

- Giả sử, chúng ta có một cây thư mục như sau:

  • myCode.php
  • pictures
    • flower.png

- Đoạn mã phía dưới là nội dung của tập tin myCode.php

   ==> Câu lệnh thứ nhất dùng để sửa tên tập tin flower.png thành nokia.png

   ==> Câu lệnh thứ hai dùng để sửa tên thư mục pictures thành mobile

<?php
    rename("pictures/flower.png", "pictures/nokia.png");
    rename("pictures", "mobile");
?>

- Lưu ý: Sau khi hàm rename() được thực thi, nó sẽ trả về giá trị:

  • TRUE: nếu sửa tên tập tin hoặc thư mục thành công.
  • FALSE: nếu sửa tên tập tin hoặc thư mục thất bại.

- Đoạn mã bên dưới, nếu sửa tên tập tin flower.png thành nokia.png thành công thì màn hình sẽ hiển thị thông báo "SỬA THÀNH CÔNG" và ngược lại sẽ hiển thị thông báo "SỬA THẤT BẠI"


<?php
    if(rename("pictures/flower.png", "pictures/nokia.png")){
        echo "SỬA THÀNH CÔNG";
    }else{
        echo "SỬA THẤT BẠI";      
    }
?>

Bài 21: Các hàm xử lý mảng trong PHP

Danh sách các hàm xử lý mảng hay sử dụng. Các bạn cập nhật và tra cứu nhé.

Nội dung chính

Danh sách các hàm xử lý mảng trong PHP.

  • Hiện đang cập nhật thêm các hàm xư lý mảng …

1. Danh sách các hàm xử lý mảng trong PHP

Bên dưới đây là các hàm chúng ta hay sử dụng nhất.

1. array_change_key_case($array, $case).

Chuyển tất cả các key trong mảng $array sang chữ hoa nếu $case = 1. Và sang chữ thường nếu $case = 0. Ta có thể dùng hằng số CASE_UPPER thay cho số 1 và CASE_LOWER thay cho số 0.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

2. array_combine($array_keys, $array_values)

Trộn 2 mảng $array_keys$array_values thành một mảng kết hợp với $array_keys là danh sách keys. $array_value là danh sách value tương ứng với key. Điều kiện là 2 mảng này phải bằng nhau.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

3. array_count_values ( $array )

Hãy đếm số lần xuất hiện của các phần tử giống nhau trong mảng $array và trả về một mảng kết quả.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

4. array_push(&$array, $add_value1, $add_value2, $add_value…)

Hãy thêm vào cuối mảng $array một hoặc nhiều phần tử với các giá trị tương ứng biến $add_value truyền vào.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

5. array_pop(&$array)

Xóa tại mảng $array phần tử cuối cùng và trả về phần tử đã xóa.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

6. array_pad($array, $size, $value)

Kéo dãn mảng $array với kích thước là $size & nếu kích thước truyền vào lớn hơn kích thước mảng $array thì giá trị $value được thêm vào. Ngược lại nếu kích thước truyền vào nhỏ hơn kích thước mảng $array thì sẽ giữ nguyên. Nếu muốn giãn ở cuối mảng thì $size có giá trị dương. Nếu muốn giãn ở đầu mảng thì $size có giá trị âm.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

7. array_shift(&$array)

Ta xóa phần tử đầu tiên ra khỏi mảng $array và trả về phần tử vừa xóa đó.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

8. array_unshift(&$array, $value1, $value2, …)

Ta thêm các giá trị $value1, $value2, … vào đầu mảng $array.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

9. is_array($variable).

Kiểm tra một biến có phải kiểu mảng hay không. Kết quả trả về true nếu phải và false nếu không phải.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

10. in_array($needle, $haystackarray)

Kiểm tra giá trị $needle có nằm trong mảng $haystackarray không. trả về true nếu có và flase nếu không có.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

11. array_key_exists($key, $searcharray)

Kiểm tra key $key có tồn tại trong mảng $searcharray không, trả về true nếu có và false nếu không có.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

12 .array_unique( $array )

Loại bỏ giá trị trùng trong mảng $array.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

13. array_values ($array )

Chuyển mảng $array sang dạng mảng chỉ mục.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Bài 22: Các hàm xử lý file trong PHP

Công việc xử lý file trong PHP rất quan trọng. Vì trong tất cả ứng dụng thực tế ta hay dùng file để lưu trữ dữ cache cho website hoặc là lưu trữ một thứ gì đó để cho nhằm giúp ứng dụng chạy nhanh hơn. vì vậy tôi viết bài này để giúp các bạn làm quen với một số hàm liên quan đến file. như là đọc file, ghi file, tạo folder mới, xóa folder, xóa file. Trong bài này tôi không đề cập đến vấn đề upload file.

Nội dung chính

  • 1. Mở file
  • 2. Đọc file
  • 3. Ghi file
  • 4. Đóng File
  • 5 Các hàm xử lý file khác
    • Kiểm tra file có tồn tại không
    • Phải Kiểm tra file có được cấp quyền ghi không
    • Lấy nội dung một file mà không cần dùng hàm fread
    • Ghi nội dung file mà không cần dùng hàm fwrite
    • Đổi tên file
    • Copy file
    • Xóa file
    • Kiểm tra đường dẫn folder có tồn tại không
    • Tạo một folder mới

1. Mở file

Để mở một file chúng ta dùng cú pháp sau: open($path, $option). Trong đó thì $path là đường dẫn đến file cần mở. $option là quyền cho phép thao tác trên file.

Ta có danh sách các quyền sau:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Ví dụ:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

2. Đọc file

Có tất cả 3 cách đọc file thông thường trong PHP đó là đọc từng dòng. Đọc từng ký tự và đọc hết file.

Chúng ta dùng hàm fgetc($fp) để đọc theo từng ký tự. Dùng fgets($fp) để đọc theo từng dòng. Nếu đọc từng dòng và đọc từng ký tự ta phải dùng hàm feof($fp) đặt trong vòng lặp while. để sau khi đọc xong nó sẽ chuyển sang dòng mới hoặc ký tự mới.

Để đọc được hết tất cả file ta dùng hàm fread($fp, $size). Trong đó $fp là đối tượng lúc mở file còn $sizelà kích cỡ của file cần đọc. Để lấy được kích cỡ của file cần đọc ta dùng hàm filesize($path).

Ví dụ: Đọc file từng ký tự.

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Ví dụ: Đọc file từng dòng

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Ví dụ: Đọc hết file

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

3. Ghi file

Để ghi được nội dung vào file ta dùng hàm fwrite($fp, $content) . Trong đó $fp là đối tượng trả về lúc mở file, còn $content là nội dung muốn ghi vào.

Việc ghi file phụ thuộc vào lúc bạn mở file như thế nào. Ví dụ lúc mà bạn mở file ghi đè thì lúc ghi file nó sẽ ghi đè. lúc các bạn mở file ghi kiểu append thì lúc ghi file nó sẽ thêm xuống cuối file, nếu bạn mở file chỉ cho đọc thì bạn không thể ghi file được.
ví dụ:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

4. Đóng File

Nếu mở file để sử dụng mà không đóng file rất nguy hiểm, vì thế sau khi sử dụng xong bạn nên đóng file để an toán hơn. Để đóng file ta nên dùng hàm fclose($fp) trong đó $fp là đối tượng trả về lúc bạn mở file.

Ví dụ:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

5. Các hàm xử lý file khác

Dưới đây là một số hàm xử lý file khác.

Kiểm tra file có tồn tại không ?

Ta dùng hàm file_exists($path). Trong đó $path là đường dẫn đến file cần kiểm tra, ví dụ:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Ta kiểm tra file có được cấp quyền ghi không

a dùng hàm is_writable ($path) trong đó $path là đường dẫn đến file cần kiểm tra .

Ví dụ:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Lấy nội dung một file mà không cần dùng hàm fread

Ta dùng hàm  file_get_contents($path) để lấy nội dung của một file. Trong đó $path là đường dẫn đến file cần lấy. $path có thể là đường link đến một trang web trên internet thì nó sẽ trả về nội dung HTML của trang web đó.

Ví dụ:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Ghi nội dung file mà không cần dùng hàm fwrite

Trước khi dùng hàm này các bạn nên dùng hàm is_writable để kiểm tra file có được phép ghi không.

Ta nên dùng hàm file_put_contents($path, $noidung) để ghi nội dung cho một file. Trong đó $path là đường dẫn đến file cần ghi. $noidung là nội dung bạn muốn ghi vào file.

Ví dụ:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Đổi tên file

Để đổi được tên file ta dùng hàm rename($oldname, $newname). Trong đó $oldname là đường dẫn đến file cần đổi tên. $newname là đường dẫn mới có kèm tên file cần đổi . Nếu bạn chỉ muốn đổi tên thôi thì đường dẫn của cả 2 biến giống nhau. Chỉ khác nhau ở cái tên file. Nếu tên file mới bị trùng thì file cũ đó sẽ bị ghi đè.

Ví dụ:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Copy file

Để copy sang file mới chúng ta dùng hàm copy($source, $dest). Trong đó $source là path file cần copy và $dest là path file cần di chuyển tới. Nếu bạn muốn đổi luôn tên thì đường dẫn $dest bạn khai báo một cái tên khác.

Ví dụ:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Xóa file

Ta dùng hàm unlink($path) để xóa file. Trong đó $path là đường dẫn đến file cần xóa, ví dụ:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Để kiểm tra một đường dẫn folder có tồn tại không

Ta dùng hàm is_dir($filename). Trong đó $filename là đường dẫn đến folder cần kiểm tra.

Ví dụ:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Tạo một folder mới

Ta dùng hàm mkdir($path) để tạo folder mới. Trong đó $path là đường dẫn đến folder cần tạo. Bạn lưu ý folder cuối cùng chính là tên folder bạn cần tạo và tất cả các folder trước nó bạn chắc chắn là phải có, nếu không sẽ bị lỗi.

Ví dụ:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Bài 23: Upload file lên server với PHP

Tại bài này mình sẽ hướng dẫn các bạn cách upload file bằng PHP bằng cách đơn giản và dễ hiểu nhất.

Upload lên Server bằng code PHP

Các bạn muốn upload file lên Server thì ban phải sử dụng form có thuộc tính enctype="multipart/form-data" .và phương thức POST, thẻ input sẽ có type="file".

Nếu bạn upload một file lên thì trên Server sẽ nhận được 5 thông số cho một file và PHP sẽ dựa vào các thông số đó để tiến hành upload, các thông số đó là:

  • name: Tên của file các bạn upload.
  • type: Kiểu file mà các bạn upload (hình ảnh, word, …).
  • tmp_name: Đường dẫn đến file upload ở client.
  • error: Trạng thái của file các bạn upload, 0 => không có lỗi.
  • size: Kích thước của file các bạn upload.

Bây giờ ta sẽ làm một ví dụ upload file để bạn dễ hiểu hơn nhé.

Bước 1: 

Bạn tạo file upload.php trong thư mục WWW của Vertrigo Server. Sau đó copy nội dung này vào

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Các bạn lưu ý rằng để upload file được thì form phải có thuộc tính enctype=”multipart/form-data” như trong code trên nhé.

Cũng giống như POSTGET. Tất cả các file bạn upload lên sẽ được lưu trữ trong một biến cục bộ tên là $_FILES. Vậy nên trong đoạn code trên mình có var_dump($_FILES) để xem thông tin file mình upload lên. Bây giờ bạn chạy file này lên. Chọn upload một file bất kỳ và nhấn vào button Upload. Bạn sẽ thấy 5 thông tin mà tôi đề cập ở trên.

Bước 2:

 Bạn tạo một folder upload cùng cấp với file upload.php. Sau đó sửa lại file upload.php như sau:

Hướng dẫn dùng renamw trong PHP

ảnh minh họa

Phần comment bên trong code tôi đã giải thích rõ cho các bạn rồi. Riêng hàm move_uploaded_file($client_path, $server_path) sẽ có 2 tham số truyền vào. Tham số $client_path là đường dẫn đến file ở client. Tham số $server_path là đường dẫn các bạn muốn lưu trên Server (đường dẫn có kèm theo tên file). Nếu bạn muốn kiểm tra định dạng file trước khi upload thì có thể sử dụng thông số type để kiểm tra.

Bài 24: Các hàm kiểm tra dữ liệu trong PHP

Các hàm này sẽ có ích cho các bạn trong việc làm web sử dụng ngôn ngữ PHP này.

1. isset($var)

được dùng để kiểm tra biến $var có tồn tại hay không. Thông thường bạn hay dùng để kiểm tra một biến trước khi xử lý thao tác đến nó.

2. empty($var)

Kiểm tra biến $var có phải giá trị trống hay không. Bao gồm các giá trị như: số 0, giá trị null, giá trị rỗng, giá trị false đều được quy về là empty. Nếu biến $var không tồn tại thì hàm này vẫn không báo lỗi và sẽ trả kết quả về false.

3. is_array($var)

Kiểm tra biến $var có phải kiểu mảng hay không.

4. is_string($var)

Kiểm tra biến $var có phải kiểu chuỗi hay không.

5. is_int($var) hoặc is_integer($var)

Kiểm tra biến $var có phải kiểu INT hay không.

6. is_float($var)

Kiểm ta biến $var có phải kiểu float hay không.

7. is_double($var)

Kiểm tra biến $var có phải kiểu double hay không.

8. is_null($var)

Kiểm tra biến $var có phải giá trị null không.

9. in_array($needle, $haystackarray)

Kiểm tra giá trị $needle có trong mảng $haystackarray hay không.

10. array_key_exists($key, $searcharray)

Kiểm tra key $key có trong mảng $searcharray hay không.