2017-01-27 12 views
7

मैं अपनी निर्देशिका की फ़ाइलों को स्थानांतरित करने के लिए निम्न स्क्रिप्ट का उपयोग कर रहा हूं (इस मामले में My_Theme) ज़िप संग्रह wordpress.zip पर।किसी विशिष्ट उप निर्देशिका में फ़ाइलें और निर्देशिका जोड़ें

define('CLIENT_PATH', $_SERVER['DOCUMENT_ROOT'] . '/wp_theme/clients_templates/' . str_replace(' ', '_', $_POST['title'])); 
$zip = new ZipArchive; 
$zip->open('wordpress.zip', ZipArchive::CREATE); 
foreach (glob(CLIENT_PATH . "/*.*") as $file) { 
    echo $file . '<br>'; 
    $zip->addFile($file); 
} 
$zip->close(); 

अब जब मैं डाउनलोड करने और है कि फ़ाइल अनज़िप, मेरे फ़ोल्डर संरचना इस तरह दिखता है:

enter image description here

क्या मैं चाहता हूँ wordpress/wp-content/themes/

परिणाम होगा करने के लिए निर्देशिका My_Theme स्थानांतरित करने के लिए है हो: wordpress/wp-content/themes/My_Theme (सभी फ़ाइलों और उप निर्देशिकाओं सहित)

मैं यह कैसे कर सकता हूं?

+0

आप सही कोड के साथ मतलब: बस दूसरा पैरामीटर को परिभाषित? –

+0

भी। आप ज़िप को मैन्युअल रूप से अनजिप कर रहे हैं, तो क्या चलने की प्रक्रिया को ज़िप्ड या अनजिप करने की आवश्यकता है? –

+0

@AsierPaz मुझे वेब सर्वर पर फ़ाइल को अनजिप करने की आवश्यकता नहीं है। जब उपयोगकर्ता इसे अपने कंप्यूटर पर डाउनलोड करता है तो उपयोगकर्ता इसे अनजिप कर सकता है। और हां, निर्देशिका को कोड के साथ ज़िप संग्रह की विशिष्ट निर्देशिका में जोड़ा जाना चाहिए, मैन्युअल रूप से नहीं। – Reza

उत्तर

4

मैं अपने ही सवाल का जवाब और जवाब आसान है: $zip->addFile($file, 'wordpress/wp-content/themes/' . $theme_name . '/' . $file_name);

0

आप http://php.net/manual/en/function.rename.php का उपयोग कर सकते हैं। ऐसा करना चाहिए जो आप खोज रहे हैं।

+0

क्यों नाम बदलें() '? यह केवल निर्देशिका का नाम बदल जाएगा। वास्तव में मैं क्या चाहता हूँ नहीं। – Reza

+0

@ रीज़ा नाम बदलें ("घर/पोमकनी/public_html/wp_theme/clients_templates/My_Theme", "वर्डप्रेस/wp-content/themes/My_Theme"); – Profit

+0

मैंने इसका उपयोग करने का प्रयास किया है। परिणाम यहां बेहतर दिखाई नहीं दे रहा है: http://i.imgur.com/Di8phY7.png – Reza

संबंधित मुद्दे