خواندن، نوشتن، الحاق داده، آپلود فایل توسط کاربر و مدیریت فایلها روی سرور.
PHP قابلیتهای قدرتمندی برای تعامل مستقیم با سیستمفایل سرور ارائه میدهد. شما میتوانید فایل متنی ایجاد کرده، محتوای آنها را بخوانید، لۆگهای سیستم را ذخیره نمایید یا فایلهای تصاویری که کاربران آپلود کردهاند را ذخیره و مدیریت کنید.
سریعترین توابع برای کارهای ساده متنی file_get_contents() (برای خواندن کل فایل) و file_put_contents() (برای نوشتن یا الحاق متن) هستند.
<?php
$filename = "app.log";
$logEntry = "[" . date('Y-m-d H:i:s') . "] User logged in\n";
// Append new entry without overwriting existing content
file_put_contents($filename, $logEntry, FILE_APPEND);
// Read entire file contents
if (file_exists($filename)) {
$content = file_get_contents($filename);
echo nl2br(htmlspecialchars($content));
}
?>
برای آپلود فایل، فرم HTML حتماً باید دارای ویژگی enctype="multipart/form-data" باشد. مشخصات فایل آپلود شده در متغیر $_FILES قرار گرفته و با تابع move_uploaded_file() ذخیره میشود.
| حالت (Mode) | توضیح عملکرد |
|---|---|
| r | فقط خواندن (اشارهگر در ابتدای فایل) |
| w | فقط نوشتن (محتوای قبلی پاک میشود!) |
| a | الحاق (Append - اضافه کردن به انتهای فایل) |
آپلود پسوندهای خطرناک (خطر اجرای کد روی سرور)
هرگز اجازه ندهید کاربر فایلهایی با پسوند .php آپلود کند. همیشه پسوند فایل، نوع MIME و پسوندهای مجاز (مانند jpg, png, pdf) را اعتبارسنجی کنید.
سیستم ثبت لاگ سادهای بنویسید که هر بار صفحهای بازدید میشود، تاریخ، زمان و IP کاربر را درون فایلی به نام visitors.log ذخیره کند.