2017-01-27 6 views
7

次のスクリプトを使用して、私のディレクトリのファイル(この場合はMy_Theme)をzipアーカイブ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

私が欲しいディレクトリにMy_Theme

wordpress/wp-content/themes/に結果を移動させることであるだろう: wordpress/wp-content/themes/My_Theme(内のすべてのファイルとサブディレクトリを含む)

どのようにすればいいですか?

+0

:ちょうど二番目のパラメータを定義しますか? –

+0

また、手動でジップを解凍していますので、移動プロセスをジップまたはアンジッピングする必要がありますか? –

+0

@AsierPaz Webサーバー上のファイルを解凍する必要はありません。ユーザーはコンピュータにダウンロードしたときに解凍することができます。そして、はい、ディレクトリはコードでzipアーカイブの特定のディレクトリに追加する必要があります手動ではありません。 – Reza

答えて

4

私は自分の質問に答え、答えは簡単です:あなたは右、コードと意味 $zip->addFile($file, 'wordpress/wp-content/themes/' . $theme_name . '/' . $file_name);

0

http://php.net/manual/en/function.rename.phpを使用できます。それはあなたが探しているものを行うはずです。

+0

なぜ 'rename()'ですか?これにより、ディレクトリの名前が変更されます。私が欲しいものではありません。 – Reza

+0

@Reza rename( "home/pomcanys/public_html/wp_theme/clients_templates/My_Theme"、 "wordpress/wp-content/themes/My_Theme"); – Profit

+0

私はそれを使ってみました。あなたがここで見るように、結果はそれほど良く見えません:http://i.imgur.com/Di8phY7.png – Reza

関連する問題