Uzak sıkıştırılmış dosyadan file_get_contents ve yerel dizine ayıklamak: Ne bu kodu w yanlış

2 Cevap

Bu kodun amacı, merkezi bir sunucudan upgrade.zip çekin ayıklamak ve yerleşik sunucusundaki bir klasöre yerleştirmektir. Hiçbir hata almak, sadece kalıp sonuçlanır ("!. Bir sorun var Lütfen tekrar deneyin!");

require('../../../wp-blog-header.php');

function openZip($file_to_open) { 
    global $target;  
    $zip = new ZipArchive();  
    $x = $zip->open($file_to_open);  
    if($x === true) {  
        $zip->extractTo($target);  
        $zip->close();  
        unlink($file_to_open);  
    } else {  
        die("!There was a problem. Please try again!");  
    }  
} 

$payload = file_get_contents('http://myserver.com/upgrade.zip');
if(isset($payload)) 
    {
    $filename = 'upgrade.zip';
    $source = file_get_contents('http://myserver.com/upgrade.zip');
    $target = ABSPATH.'wp-content/themes/mytheme/';

    // permission settings for newly created folders
    $chmod = 0755;  

    $saved_file_location = $target . $filename;

openZip($saved_file_location);

}

2 Cevap

Sen bir dizeye uzak zip dosyasının içeriğini olsun ... ama her yere kaydetmek asla.

Sen $zip->open() dan dönüş değerini araştırmak gerekir. Bu following herhangi biri olabilir:

ZIPARCHIVE::ER_EXISTS 
ZIPARCHIVE::ER_INCONS 
ZIPARCHIVE::ER_INVAL 
ZIPARCHIVE::ER_MEMORY 
ZIPARCHIVE::ER_NOENT 
ZIPARCHIVE::ER_NOZIP 
ZIPARCHIVE::ER_OPEN 
ZIPARCHIVE::ER_READ 
ZIPARCHIVE::ER_SEEK 

Ayrıca, neden dosyanın gerçekten geçerli olup olmadığını favori unzip programı kontrol etmek için kullanarak manuel indirdiğiniz zip dosyasını açmaya?