Я пытался скопировать любой каталог с моего сервера на компьютер клиента, но я не знаю, как это возможно: S ... как пример ... У меня есть domain.com/Info, и я хочу скопировать эту папку Info с содержимым, чтобы Я копирую Info и копирую в другую папку, но на моем сервере ... но я не знаю, как копировать на компьютер клиента, смысл моей идеи в том, что если любой клиент хочет использовать мою сеть, может скопировать эту папку в его рабочий стол Any Idea ?? мой код для копирования dir на моем сервере
function full_copy( $source, $target ) {
if ( is_dir( $source ) ) {
@mkdir( $target );
$d = dir( $source );
while ( FALSE !== ( $entry = $d->read() ) ) {
if ( $entry == '.' || $entry == '..' ) {
continue;
}
$Entry = $source . '/' . $entry;
if ( is_dir( $Entry ) ) {
full_copy( $Entry, $target . '/' . $entry );
continue;
}
copy( $Entry, $target . '/' . $entry );
}
$d->close();
}else {
copy( $source, $target );
}
}
$s = '/Appserv/www/CpVela/Info';
$des = '/Info/';
full_copy($s,$des);
новая редакция
хорошо, я пытаюсь создать и загрузить .zip, но file.zip, который создает мой код, пуст и поврежден: S
мой код такой
include "libs/pclzip-2-8-2/pclzip.lib.php";
require("libs/zipfile.php");
/* creates a compressed zip file */
function create_zip($files = array(),$destination = '',$overwrite = false) {
if(file_exists($destination) && !$overwrite) { return false; }
$valid_files = array();
if(is_array($files)) {
foreach($files as $file) {
if(file_exists($file)) {
$valid_files[] = $file;
}
}
}
if(count($valid_files)) {
$zip = new ZipArchive();
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
return false;
}
foreach($valid_files as $file) {
$zip->addFile($file,$file);
}
$zip->close();
return file_exists($destination);
}
else
{
return false;
}
}
$array = array();
function full_copy( $source, $target ) {
if ( is_dir( $source ) ) {
@mkdir( $target );
//$archivo = new zipfile();
$archive = new PclZip('zipfile.zip');
$d = dir( $source );
while ( FALSE !== ( $entry = $d->read() ) ) {
if ( $entry == '.' || $entry == '..' ) {
continue;
}
$Entry = $source . '/' . $entry;
if ( is_dir( $Entry ) ) {
full_copy( $Entry, $target . '/' . $entry );
continue;
}
if(count($array) > 1 ){
array_push($array, $Entry);
}else{
$array[0] = $Entry;
}
// $archivo->add_file($Entry,$Entry);
//$v_list = $archive->add($Entry, PCLZIP_OPT_REMOVE_PATH, 'dev');
//copy( $Entry, $target . '/' . $entry );
}
$d->close();
}else {
copy( $source, $target );
}
}
$s = '/Appserv/www/CpVela/Info';
$des = '/Appserv/www/CpVela/';
full_copy($s,$des);
create_zip($array,'zipfile.zip');
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename=zipfile.zip");
echo $zipfile->file();