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àyTài liệu đổi tên
user/
5Nế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/
6Bản sao tài liệu
user/
7Nế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ểntà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.3743 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
Ben Fortuneben FortuneBen Fortune
30.8k10 Huy hiệu vàng80 Huy hiệu bạc79 Huy hiệu đồng10 gold badges80 silver badges79 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.9366 huy hiệu vàng55 Huy hiệu bạc72 Huy hiệu đồng6 gold badges55 silver badges72 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
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