การแก้ปัญหาที่ง่ายมากในหลาย ๆ สถานการณ์เป็นปัญหาที่ร้ายแรง ในสถานการณ์ที่เราต้องย้ายเว็บไซต์ซึ่งมีไฟล์จำนวนไม่กี่พันรายการและผู้ให้บริการเว็บโฮสติ้งไม่ได้ให้ข้อมูลกับเรา ระบบสำรองข้อมูล กับการเก็บข้อมูลหรือวิธีการอื่นที่คล้ายคลึงกันที่จะช่วยให้เรานี้ FTP โอน มันเป็นวิธีการแก้ปัญหาที่เราจะต้องใช้เวลานานมาก
สคริปต์ PHP ที่อัปโหลดไปยังเซิร์ฟเวอร์ที่โฮสต์เว็บไซต์จะช่วยให้เราสามารถดำเนินการได้ การจัดเก็บข้อมูลในรูปแบบ tar ของไฟล์ทั้งหมดในโฟลเดอร์.
ฉันจะเก็บไฟล์และโฟลเดอร์บนเว็บเซิร์ฟเวอร์โดยใช้สคริปต์ PHP ได้อย่างไร
คัดลอกสคริปต์ด้านล่างและวางไว้ในไฟล์. php บนเซิร์ฟเวอร์ ตัวอย่าง: arhiva.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 al Wordกดไฟล์ที่เราตั้งชื่อว่า archive.php จะถูกอัพโหลดไปที่ /wp-content/
ไฟล์เก็บถาวรถูกสร้างขึ้นโดยการเข้าถึงไฟล์ arhiva.php ในเบราว์เซอร์ url: http: ..web.name.tld / wp-content / archive.php และเมื่อสิ้นสุดการดำเนินการบนเซิร์ฟเวอร์จะมีไฟล์ archive.tar
หากคุณมีไฟล์จำนวนมากให้เปลี่ยนค่า "หมดเวลา" ของเวลาดำเนินการ คุณสามารถทำได้จาก php.ini หรือ. htaccess