PHP - modificar archivo php de exportar a zip a dejar archivos en una carpeta superior

 
Vista:

modificar archivo php de exportar a zip a dejar archivos en una carpeta superior

Publicado por mario alonso aguirre figueroa (1 intervención) el 10/11/2017 20:13:29
Hola estimada comunidad :
Necesito modificar un gestor de construccion de paginas web, modificando la funcion de exportar para que en vez de descargar un archivo en zip, deje los archivos en el mismo servidor, en la carpeta public_html.

el archivo php que descarga la pagina web en zip tiene este codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php
 
/* CONFIG */
 
$pathToAssets = array("elements/bundles");
 
$filename = "tmp/website.zip"; //use the /tmp folder to circumvent any permission issues on the root folder
 
/* END CONFIG */
 
 
$zip = new ZipArchive();
 
$zip->open($filename, ZipArchive::CREATE);
 
 
//add folder structure
 
foreach( $pathToAssets as $thePath ) {
 
	// Create recursive directory iterator
	$files = new RecursiveIteratorIterator(
		new RecursiveDirectoryIterator( $thePath ),
		RecursiveIteratorIterator::LEAVES_ONLY
	);
 
	foreach ($files as $name => $file) {
 
		if( $file->getFilename() != '.' && $file->getFilename() != '..' ) {
 
			// Get real path for current file
			$filePath = $file->getRealPath();
 
			$temp = explode("/", $name);
 
			array_shift( $temp );
 
			$newName = implode("/", $temp);
 
			// Add current file to archive
			$zip->addFile($filePath, $newName);
 
		}
 
	}
 
}
 
 
 
foreach( $_POST['pages'] as $page=>$content ) {
 
	$pageContent = stripslashes($content);
	$pageContent = str_replace("../bundles/", "bundles/", $pageContent);
 
	$zip->addFromString($page.".html", $_POST['doctype']."\n".stripslashes($pageContent));
 
	//echo $content;
 
}
 
//$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");
//$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");
 
$zip->close();
 
 
$yourfile = $filename;
 
$file_name = basename($yourfile);
 
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: Binary");
header("Content-Disposition: attachment; filename=$file_name");
header("Content-Length: " . filesize($yourfile));
 
readfile($yourfile);
 
unlink('website.zip');
 
exit;
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de facundo

modificar archivo php de exportar a zip a dejar archivos en una carpeta superior

Publicado por facundo (185 intervenciones) el 10/11/2017 20:43:00
Hola, sacale la parte que se encarga de hacerlo zip. Hay funciones que sirven para borrar ficheros,crearlos o copiarlos. Fijate, no probe el codigo, pero por ahi estas paginas te sirven para hacer lo que queres

http://php.net/manual/es/function.mkdir.php
http://php.net/manual/es/function.rmdir.php
http://php.net/manual/es/function.copy.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar