Hàm move_uploaded_file[] và hàm rename[] được sử dụng để di chuyển tệp vào một thư mục khác trên máy chủ. Trong trường hợp này, chúng tôi có một tệp đã được tải lên trong thư mục tạm thời của máy chủ từ đó thư mục mới được gán theo phương thức. Tệp tạm thời được di chuyển hoàn toàn đến một vị trí mới. move_uploaded_file[] đảm bảo tính an toàn của thao tác này bằng cách chỉ cho phép di chuyển những tệp được tải lên thông qua PHP. Do đó, để di chuyển một tệp đã tải lên, chúng tôi sử dụng phương thức rename[]
cú pháp
move_uploaded_file [ string $Sourcefilename, string $destination ] : bool rename [ string $oldname, string $newname [, resource $context ] ] : bool
- phương thức move_uploaded_file[]. Hàm này kiểm tra để đảm bảo rằng tệp nguồn hoặc '$Sourcefilename' trong cú pháp là tệp tải lên hợp lệ [có nghĩa là tệp được tải lên thông qua cơ chế tải lên HTTP POST của PHP]. Nếu tệp hợp lệ, tệp sẽ được chuyển đến tên tệp được cung cấp bởi đích hoặc '$destination' theo cú pháp
Loại kiểm tra này đặc biệt quan trọng nếu có khả năng bất kỳ điều gì được thực hiện với các tệp đã tải lên có thể tiết lộ nội dung của chúng cho người dùng hoặc thậm chí cho những người dùng khác trên cùng hệ thống. Lưu ý rằng nếu trong trường hợp tệp đích đã tồn tại, nó sẽ bị ghi đè. Vì lý do này, trước tiên tệp phải được kiểm tra tính khả dụng của tệp và sau đó phải thực hiện hành động duy nhất - phương thức đổi tên []. Phương pháp này cố gắng đổi tên cũ thành tên mới, di chuyển nó giữa các thư mục nếu cần. Nếu tệp tên mới tồn tại thì nó sẽ bị ghi đè. Nếu đổi tên thư mục newname tồn tại thì chức năng này sẽ phát ra cảnh báo
Thí dụ. Ví dụ này là mã tải tệp lên trong thư mục có tên là Tải lên và sau đó nó thay đổi đường dẫn của nó sang thư mục khác có tên là Mới
Tải lên. html
8
head
>
3
5
>
6_______3_______2>
8 >
9html
2>
8
2html
2>
8>
3
>
33
5
>
6_______3_______29
html
2
8_______3_______0
>
8
8
html
>
7
upfile. php
>
8
0
1 html
2_______9_______3
4
5 html
2_______9_______1
8
900
01
02
>
804
05
06
07
08
10_______1_______11
12
02
3
27
28
4
>
307
32
34
16
37
10
00
07
42
>
327
45
4
48
16
51
53
54
3
>
3_______1_______57
>
359
>
361
>
310
64
01_______1_______02
>
804
69
70
71_______9_______5
25
html
727
76_______9_______8
900
01
02
>
804
05
85
86
888
4
90
html
792
html
710
95
597
98
99
86
900
01
02
>
804
05