a를 만드는 방법. PHP 스크립트를 사용하여 서버의 타드 및 감독 (폴더) 아카이브

O rezolvare foarte simpla in multe situatii, pentru o problema destul de serioasa. In scenariul in care am avea de mutat un website, ale carui fisiere numara cateva mii, iar providerul de web hosting nu ne asigura un sistem de backup cu arhivare sau alta metoda similara care sa ne permita acest lucru, transferul prin FTP este o solutie care ne-ar ocupa foarte mult timp.

Un script PHP urcat pe serverul care gazduieste website-ul ne-ar ajuta sa facem arhivarea in format .TAR al tuturor fisierelor dintr-un folder.

Cum arhivam fisiere si foldere pe un web server, folosind in script PHP?

Copiem scriptul de mai jos si il punem intr-un fisier .php pe server. Exemplu: arhiva.php sa contina scriptul de mai jos:


<?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();
}
?>

Atentie! Scriptul trebuie urcat in folderul in care dorim sa facem arhivarea folderul si fisierelor care le contine. De exemplu, daca dorim sa arhivam tot continutul folderului wp-content, al WordPress, fisierul numit de noi arhiva.php va fi urcat in /wp-content/.

Arhiva se creeaza accesand in browser fisierul arhiva.php. url: http:..nume_website.tld/wp-content/arhiva.php, iar la finalul operatiunii pe server va fi prezent fisierul archive.tar.

In cazul in care aveti un volum mare de fisiere, schimbati valoare detimeouta timpului de executie. Puteti face acest lucru din php.ini sau din .htaccess.

기술에 대한 열정, 저는 2006 년부터 StealthSetts.com에서 즐거움을 가지고 글을 씁니다. 운영 체제와 같은 풍부한 경험이 있지만 언어 및 블로그 플랫폼 (WordPress) 및 온라인 상점 (Woocommerce, Magento, Presashop)에 대한 경험이 풍부합니다.

IT 튜토리얼, 유용한 팁 및 뉴스. a를 만드는 방법. PHP 스크립트를 사용하여 서버의 타드 및 감독 (폴더) 아카이브
의견을 남겨주세요