วิธีแก้ปัญหาที่ง่ายมากในหลาย ๆ สถานการณ์สำหรับปัญหาที่ค่อนข้างร้ายแรง ในสถานการณ์ที่เราต้องย้ายเว็บไซต์ซึ่งมีไฟล์หลายพันไฟล์ และผู้ให้บริการเว็บโฮสติ้งไม่ได้จัดเตรียมข้อมูลให้เรา ระบบสำรองข้อมูล ด้วยการเก็บถาวรหรือวิธีการอื่นที่คล้ายกันที่ช่วยให้เราทำสิ่งนี้ได้ การถ่ายโอน FTP มันเป็นวิธีแก้ปัญหาที่จะต้องใช้เวลามาก
สคริปต์ PHP ที่อัปโหลดไปยังเซิร์ฟเวอร์ที่โฮสต์เว็บไซต์จะช่วยให้เราทำเช่นนี้ได้ การเก็บถาวรในรูปแบบ .TAR ของไฟล์ทั้งหมดในโฟลเดอร์-
เราจะเก็บถาวรไฟล์และโฟลเดอร์บนเว็บเซิร์ฟเวอร์โดยใช้สคริปต์ PHP ได้อย่างไร
เราคัดลอกสคริปต์ด้านล่างและวางไว้ในไฟล์ .php บนเซิร์ฟเวอร์ ตัวอย่าง: archive.php ควรมีสคริปต์ด้านล่าง:
<?php
try {
//make sure the script has enough time to run (300 seconds = 5 minutes)
ini_set('max_execution_time', '300');
ini_set('set_time_limit', '0');
$target = isset($_GET["targetname"]) ? $_GET["targetname"] : 'archive.tar'; //default to archive.tar
$dir = isset($_GET["dir"]) ? $_GET["dir"] : './.'; //defaults to all in current dir
//setup phar
$phar = new PharData($target);
$phar->buildFromDirectory(dirname(__FILE__) . '/'.$dir);
echo 'Compressing all files done, check your server for the file ' .$target;
} catch (Exception $e) {
// handle errors
echo 'An error has occured, details:';
echo $e->getMessage();
}
?>ระมัดระวัง! จะต้องอัปโหลดสคริปต์ไปยังโฟลเดอร์ที่เราต้องการเก็บถาวรโฟลเดอร์และไฟล์ที่มีอยู่ ตัวอย่างเช่น หากเราต้องการเก็บถาวรเนื้อหาทั้งหมดของโฟลเดอร์ wp-content ของ WordPress ไฟล์ที่เราเรียกว่า arhiva.php จะถูกอัปโหลดไปที่ /wp-content/
ไฟล์เก็บถาวรถูกสร้างขึ้นโดยการเข้าถึงไฟล์ archive.php ในเบราว์เซอร์ url: http:..name_website.tld/wp-content/arhiva.php และเมื่อสิ้นสุดการดำเนินการ ไฟล์ archive.tar จะปรากฏบนเซิร์ฟเวอร์
หากคุณมีไฟล์จำนวนมาก ให้เปลี่ยนค่าของ “หมดเวลา” ของเวลาดำเนินการ คุณสามารถทำได้จาก php.ini หรือจาก .htaccess
 
			