Hướng dẫn php move file to another folder - php di chuyển tập tin sang thư mục khác

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

Hướng dẫn php move file to another folder - php di chuyển tập tin sang thư mục khác

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.3843 Huy hiệu vàng24 Huy hiệu bạc38 Huy hiệu Đồng3 gold badges24 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

Hướng dẫn php move file to another folder - php di chuyển tập tin sang thư mục khác

Ben Fortuneben FortuneBen Fortune

30.9k10 Huy hiệu vàng80 Huy hiệu bạc80 Huy hiệu Đồng10 gold badges80 silver badges80 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.9766 huy hiệu vàng55 Huy hiệu bạc73 Huy hiệu đồng6 gold badges55 silver badges73 bronze badges

2

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

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

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

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

Hướng dẫn php move file to another folder - php di chuyển tập tin sang thư mục khác

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?

Php Move_upLoaded_File () Hàm hàm Move_uploaded_file () di chuyển một tệp đã tải lên một điểm đến mới. Lưu ý: Chức năng này chỉ hoạt động trên các tệp được tải lên thông qua cơ chế tải lên bài HTTP của PHP. Lưu ý: Nếu tệp đích đã tồn tại, nó sẽ bị ghi đè. The move_uploaded_file() function moves an uploaded file to a new destination. Note: This function only works on files uploaded via PHP's HTTP POST upload mechanism. Note: If the destination file already exists, it will be overwritten.

Làm thế nào để tải lên tệp trong thư mục cụ thể trong PHP?

Tạo tập lệnh tải lên tập lệnh PHP $ target_dir = "Tải lên/" - Chỉ định thư mục nơi tệp sẽ được đặt.$ target_file chỉ định đường dẫn của tệp sẽ được tải lên.$ uploadok = 1 chưa được sử dụng (sẽ được sử dụng sau) $ ImageFileType giữ phần mở rộng tệp của tệp (trong trường hợp thường)$target_dir = "uploads/" - specifies the directory where the file is going to be placed. $target_file specifies the path of the file to be uploaded. $uploadOk=1 is not used yet (will be used later) $imageFileType holds the file extension of the file (in lower case)

Các tệp $ _ trong PHP là gì?

Biến được xác định trước toàn cầu $ _Files là một mảng kết hợp có chứa các mục được tải lên qua phương thức bài HTTP.Tải lên một tệp yêu cầu biểu mẫu phương thức bài HTTP với thuộc tính Enctype được đặt thành nhiều dữ liệu/hình thức.an associative array containing items uploaded via HTTP POST method. Uploading a file requires HTTP POST method form with enctype attribute set to multipart/form-data.

TMP_NAME trong Tải lên tệp PHP là gì?

TMP_NAME là tên tạm thời của tệp được tải lên được tạo tự động bởi PHP và được lưu trữ trên thư mục tạm thời trên máy chủ.Tên là tên gốc của tệp là lưu trữ trên máy cục bộ.the temporary name of the uploaded file which is generated automatically by php, and stored on the temporary folder on the server. name is the original name of the file which is store on the local machine.