我试图将任何dir从我的服务器复制到客户端的PC但我不知道怎么可能:S ...作为示例...我有domain.com/Info并且我想要复制该文件夹Info包含内容所以我复制信息和复制到其他文件夹,但在我的服务器...但我不知道,如何复制在客户端的电脑,我的想法是,如果任何客户想要使用我的网络可以复制该文件夹桌面任何想法?我服务器中复制目录的代码是
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();
答案 0 :(得分:2)
您无法通过网络浏览器执行此操作。 PHP在网页执行的服务器上运行,而不是其他任何地方。
如果您想允许客户端执行此操作,则需要使用其他工具或其他语言。或者只是制作一个他可以下载的zip文件。