آپلود فایل در PHP
آپلود فایل در PHP فرآیندی است که به شما امکان میدهد فایلهایی را از سیستم محلی به سرور منتقل کنید. برای شروع، شما نیاز به یک فرم HTML برای انتخاب فایل دارید.
```html
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload File" name="submit">
</form>
```
سپس در فایل `upload.php`، شما میتوانید به پردازش فایل بپردازید. این شامل بررسی نوع فایل، حجم و همچنین حرکت فایل به دایرکتوری مناسب است.
```php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
// بررسی نوع فایل
if (isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if ($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
// بررسی وجود فایل
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// در صورتی که همه چیز خوب باشد، فایل منتقل میشود
if ($uploadOk == 1) {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file " . htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
}
```
دانلود فایل ZIP در PHP
برای دانلود فایل ZIP، ابتدا باید فایلها را فشرده کنید. میتوانید از کلاس `ZipArchive` استفاده کنید تا یک فایل ZIP ایجاد کنید.
```php
$zip = new ZipArchive();
$filename = "files.zip";
if ($zip->open($filename, ZipArchive::CREATE) !== TRUE) {
exit("Cannot open <$filename>\n");
}
$zip->addFile("uploads/file
- jpg", "file1.jpg");
- jpg", "file2.jpg");
```
پس از ایجاد فایل ZIP، میتوانید آن را برای دانلود ارائه دهید:
```php
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
header('Content-Length: ' . filesize($filename));
readfile($filename);
```
نکات مهم
- امنیت: همیشه ورودیها را بررسی کنید.
- مدیریت خطا: مطمئن شوید که خطاها به درستی مدیریت میشوند.
- حجم فایل: محدودیتهایی برای حجم فایل آپلودی در PHP وجود دارد که باید بررسی شوند.
با دنبال کردن این مراحل، شما میتوانید فرآیند آپلود و دانلود فایل ZIP را به سادگی انجام دهید.