Tengo un archivo wp plugin en el servidor B que su propósito es recuperar un archivo zip desde un servidor A. remotade servidor en servidor> Recuperar y extraer un archivo zip remoto para directorio de servidor local
vez que el servidor B recibe archivo zip, debe extraer los contenidos y copiar los archivos en una carpeta específica en el servidor B sobrescribiendo los archivos existentes.
Tengo un código a continuación que he tomado prestado de un archivo que utiliza y cargador para hacer lo mismo y solo me gustaría rehacerlo para el procedimiento automatizado de servidor a servidor descrito anteriormente. Pero recibo un error fatal al intentar activar este complemento.
function remote_init()
{
openZip('http://myserver.com/upgrade.zip');
$target = ABSPATH.'wp-content/themes/mytheme/';
}
function openZip($file_to_open, $debug = false) {
global $target;
$file = realpath('/tmp/'.md5($file_to_open).'.zip');
// $ archivo siempre está vacío. no se puede usar realpath en este caso. ¿Qué hacer?
$client = curl_init($file_to_open);
curl_setopt(CURLOPT_RETURNTRANSFER, 1);
$fileData = curl_exec($client);
file_put_contents($file, $fileData);
$zip = new ZipArchive();
$x = $zip->open($file);
if($x === true) {
$zip->extractTo($target);
$zip->close();
unlink($file);
} else {
if($debug !== true) {
unlink($file);
}
die("There was a problem. Please try again!");
}
}
add_action('init','remote_init');
Cómo llegar. Un error menos Ahora tenemos: Advertencia: file_put_contents() [function.file-put-contents]: Filename no puede estar vacío. Además, ¿dónde configuro el valor de $ target? En la función remote_init()? $ target = ABSPATH.'wp-content/themes/mytheme/'; –
Cambié el código anterior. Pruébalo otra vez. ABSPATH está definido, ¿verdad? – Jonah
Jonah, realmente aprecio que te hayas quedado con esto. ABSPATH está definido, sin embargo, parece estar equivocado ... echo ($ target) returns: /home/myaccount/public_html/mysiteaddress//tmp/47393ca1964f2997cdee4b500721aca8.zip –