cuốn sách gpt4 ai đã làm

foreach - Đối số không hợp lệ được cung cấp cho foreach()

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 00:15:45 31 4
mua khóa gpt4 Nike

Mã bên dưới xóa các tệp trong thư mục "Hình ảnh" cứ sau 60 giây, nó hoạt động, nhưng khi thư mục trống, nó hiển thị: Cảnh báo: Đối số không hợp lệ được cung cấp cho foreach() Cách khắc phục điều này nếu không có tệp, Nói "Thư mục là trống" thay vì cảnh báo đó ..

$thời gian hết hạn=1; 

$tmpFolder="Hình ảnh/";
$fileTypes="*.*";

foreach (glob($tmpFolder . $fileTypes) as $Filename) {

// Đọc thời gian tạo file
$FileCreationTime = filectime($Tên tệp);

// Tính tuổi file tính bằng giây
$FileAge = thời gian() - $FileCreationTime;

// Tệp có cũ hơn khoảng thời gian đã cho không?
if ($FileAge > ($expiretime * 60)){

// Bây giờ hãy làm gì đó với các tập tin cũ hơn...

echo "Tệp $Filename cũ hơn $expiretime Minutes\r\n";

// xóa tập tin:
hủy liên kết($Tên tệp);
}

}
?>

câu trả lời hay nhất

Vì glob() có thể không trả về một mảng trống một cách đáng tin cậy cho các kết quả khớp trống ( Xem "ghi chú" trong phần Trả về của tài liệu) , bạn chỉ cần một nếu như tuyên bố để bảo vệ vòng lặp của bạn như thế này:

$files = glob($tmpFolder . $fileTypes);
if (is_array($files) && count($files) > 0) {
foreach($files as $Filename) {
// Đọc thời gian tạo file
$FileCreationTime = filectime($Tên tệp);

// Tính tuổi file tính bằng giây
$FileAge = thời gian() - $FileCreationTime;

// Tệp có cũ hơn khoảng thời gian đã cho không?
if ($FileAge > ($expiretime * 60)){

// Bây giờ hãy làm gì đó với các tập tin cũ hơn...

echo "Tệp $Filename cũ hơn $expiretime Minutes\r\n";

// xóa tập tin:
hủy liên kết($Tên tệp);
}
} khác {
echo 'Lỗi của bạn ở đây...';
}

Về foreach - đối số không hợp lệ được cung cấp cho foreach(), chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/11378251/

31 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress