Hướng dẫn how do i move an image from one directory to another in php? - làm cách nào để di chuyển hình ảnh từ thư mục này sang thư mục khác trong php?

Tôi cần cho phép người dùng trên trang web của mình xóa hình ảnh của họ khỏi máy chủ sau khi họ đã tải lên nếu họ không còn muốn họ nữa. Trước đây tôi đã sử dụng chức năng

user/
3 trong PHP nhưng kể từ đó đã được thông báo rằng điều này có thể khá rủi ro và là vấn đề bảo mật. [Mã trước đây :]

if[unlink[$path.'image1.jpg']]{ 
     // deleted
}

Thay vào đó, bây giờ tôi muốn chỉ cần di chuyển tệp vào một thư mục khác. Điều này phải có thể được thực hiện một thời gian dài sau khi họ lần đầu tiên tải lên tệp để bất cứ khi nào họ đăng nhập vào tài khoản của họ. Nếu tôi có thư mục chính lưu trữ [các] hình ảnh người dùng:

user/

Và sau đó, trong đó một thư mục có tên DEL là đích đến để đặt hình ảnh không mong muốn của họ:

user/del/

Có lệnh nào để di chuyển một tệp vào một thư mục khác không? Vì vậy, nói:

user/image1.jpg

Chuyển đến/trở thành

user/del/image1.jpg

Đã hỏi ngày 2 tháng 10 năm 2013 lúc 14:28Oct 2, 2013 at 14:28

Chức năng

user/
4 thực hiện điều này

Tài liệu đổi tên

user/
5

Nếu bạn muốn giữ tệp hiện có ở cùng một nơi, bạn nên sử dụng

user/
6

Bản sao tài liệu

user/
7

Nếu bạn muốn di chuyển một tệp được tải lên, hãy sử dụng

user/
8, mặc dù điều này gần giống như
user/
4, chức năng này cũng kiểm tra xem tệp đã cho là một tệp được tải lên thông qua
user/del/
0, thì điều này sẽ ngăn chặn tệp cục bộ được di chuyển

tài liệu di chuyển_uploaded_file

$uploads_dir = '/uploads';
foreach [$_FILES["pictures"]["error"] as $key => $error] {
    if [$error == UPLOAD_ERR_OK] {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file[$tmp_name, "$uploads_dir/$name"];
    }
}

mã mã từ tài liệu

Đã trả lời ngày 2 tháng 10 năm 2013 lúc 14:33Oct 2, 2013 at 14:33

MKROEDERSMKROEDERSMKroeders

7.3543 Huy hiệu vàng23 Huy hiệu bạc38 Huy hiệu Đồng3 gold badges23 silver badges38 bronze badges

2

Sử dụng hàm đổi tên [].

rename["user/image1.jpg", "user/del/image1.jpg"];

Đã trả lời ngày 2 tháng 10 năm 2013 lúc 14:32Oct 2, 2013 at 14:32

Ben Fortuneben FortuneBen Fortune

30.8k10 Huy hiệu vàng80 Huy hiệu bạc78 Huy hiệu đồng10 gold badges80 silver badges78 bronze badges

0

Nếu bạn muốn di chuyển tệp trong đường dẫn mới với tên tệp gốc. dùng cái này:

$source_file = 'foo/image.jpg';
$destination_path = 'bar/';
rename[$source_file, $destination_path . pathinfo[$source_file, PATHINFO_BASENAME]];

Đã trả lời ngày 24 tháng 1 năm 2018 lúc 16:38Jan 24, 2018 at 16:38

Nabi K.A.Z.Nabi K.A.Z.Nabi K.A.Z.

8.8066 huy hiệu vàng53 Huy hiệu bạc71 Huy hiệu đồng6 gold badges53 silver badges71 bronze badges

2

Tôi sử dụng shell đọc tất cả các tệp dữ liệu sau đó gán cho mảng. Sau đó, tôi di chuyển tập tin ở vị trí hàng đầu.

i=0 
for file in /home/*.gz; do
    $file
    arr[i]=$file
    i=$[[i+1]] 
done 
mv -f "${arr[0]}" /var/www/html/

Đã trả lời ngày 22 tháng 3 năm 2019 lúc 9:52Mar 22, 2019 at 9:52

1

Một số giải pháp đầu tiên là sao chép [] tệp [như đã đề cập ở trên] và khi tệp đích tồn tại - không liên kết [] tệp từ bản địa hóa trước đó. Ngoài ra, bạn có thể xác thực tổng kiểm tra MD5 trước khi tháo ra để chắc chắn

Đã trả lời ngày 6 tháng 11 năm 2018 lúc 13:25Nov 6, 2018 at 13:25

Quardasquardasquardas

6113 Huy hiệu vàng10 Huy hiệu bạc23 Huy hiệu đồng3 gold badges10 silver badges23 bronze badges

Tạo một chức năng để di chuyển nó:

function move_file[$file, $to]{
    $path_parts = pathinfo[$file];
    $newplace   = "$to/{$path_parts['basename']}";
    if[rename[$file, $newplace]]
        return $newplace;
    return null;
}

Đã trả lời ngày 19 tháng 3 năm 2019 lúc 16:49Mar 19, 2019 at 16:49

MarcelomarceloMarcelo

731 Huy hiệu bạc6 Huy hiệu đồng1 silver badge6 bronze badges

sử dụng hàm sao chép [] và hủy liên kết []copy[] and unlink[] function

user/
0

Đã trả lời ngày 20 tháng 3 năm 2019 lúc 10:00Mar 20, 2019 at 10:00

Sử dụng tệp mã này

user/
1

Đã trả lời ngày 17 tháng 1 năm 2021 lúc 18:03Jan 17, 2021 at 18:03

user/
2

Đã trả lời ngày 1 tháng 11 năm 2021 lúc 17:29Nov 1, 2021 at 17:29

1

shell_exec ['MV FileName Dest_filename'];

Đã trả lời ngày 21 tháng 9 năm 2018 lúc 6:28Sep 21, 2018 at 6:28

1

Làm cách nào để chuyển tệp sang một thư mục khác trong PHP?

Di chuyển các tệp trong PHP đơn giản như sử dụng một hàm duy nhất - đổi tên ["nguồn.file", "thư mục/target.file"]. Có, không có chức năng tệp di chuyển trong PHP và chúng tôi thực sự đổi tên một tệp thành một thư mục khác.rename["SOURCE. FILE", "FOLDER/TARGET. FILE"] . Yes, there is no move file function in PHP, and we literally “rename” a file into another folder.

Làm cách nào để sao chép một thư mục từ thư mục này sang thư mục khác trong PHP?

Các chức năng đã sử dụng:..
Hàm Copy []: Hàm Copy [] được sử dụng để tạo một bản sao của một tệp được chỉ định. ....
Hàm opendir []: hàm opendir [] được sử dụng để mở một tay cầm thư mục. ....
hàm is_dir []: hàm is_dir [] được sử dụng để kiểm tra xem tệp được chỉ định có phải là thư mục hay không ..

Làm cách nào để đặt PHP để tải xuống một thư mục cụ thể?

Tạo phiên Curl.Khai báo một biến và lưu trữ tên thư mục trong đó tệp đã tải xuống sẽ lưu.Sử dụng hàm basename [] để trả về tên tệp basename nếu đường dẫn tệp được cung cấp dưới dạng tham số.Lưu tệp vào vị trí đã cho.

Scandir làm gì trong PHP?

Định nghĩa và sử dụng hàm scandir [] trả về một mảng các tệp và thư mục của thư mục được chỉ định.returns an array of files and directories of the specified directory.

Bài Viết Liên Quan

Chủ Đề