को एक दूरस्थ ज़िप फ़ाइल निकालने एक बार सर्वर बी प्राप्त करता है एक दूरस्थ सर्वर एसर्वर सर्वर से> पुन: प्राप्त करें और मैं जो उद्देश्य है सर्वर बी पर एक WP प्लगइन फ़ाइल है स्थानीय सर्वर निर्देशिका
से एक ज़िप फ़ाइल को पुनः प्राप्त करने के लिए है ज़िप फ़ाइल, इसे सामग्री निकालना चाहिए और फ़ाइलों को किसी मौजूदा फाइल को ओवरराइट करने पर सर्वर बी पर एक विशिष्ट फ़ोल्डर में कॉपी करना चाहिए।
मेरे पास कुछ कोड है जो मैंने एक फ़ाइल से उधार लिया है जो एक ही चीज करने के लिए उपयोग और अपलोडर है और मैं इसे ऊपर वर्णित सर्वर प्रक्रिया में स्वचालित सर्वर के लिए फिर से करना चाहता हूं। लेकिन इस प्लगइन को सक्रिय करने का प्रयास करते समय मुझे घातक त्रुटि मिल रही है।
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');
// $ फ़ाइल हमेशा खाली होती है। इस मामले में realpath का उपयोग नहीं कर सकते हैं। क्या करें?
$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');
वहां जा रहा है। एक कम त्रुटि। अब हमारे पास है: चेतावनी: file_put_contents() [function.file-put-content]: फ़ाइल नाम खाली नहीं हो सकता है। साथ ही, मैं $ लक्ष्य के लिए मूल्य कहां सेट करूं? Remote_init() फ़ंक्शन में? $ target = ABSPATH.'wp-content/themes/mytheme/'; –
मैंने उपरोक्त कोड बदल दिया। दुबारा कोशिश कीजिये। ABSPATH परिभाषित किया गया है, है ना? – Jonah
योना, मैं वास्तव में आपको इस पर चिपके रहने की सराहना करता हूं। ABSPATH को परिभाषित किया गया है, हालांकि, यह गलत प्रतीत होता है ... echo ($ target) रिटर्न: /home/myaccount/public_html/mysiteaddress//tmp/47393ca1964f2997cdee4b500721aca8.zip –