Bonjour,
J'espère poster au bon endroit, j'ai bien cherché, mais je ne trouve pas le truc qui coince :
J'utilise zip.lib.php pour compresser un dossier , et quand je code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
<?php 
require_once('zip.lib.php');
$dir = $_GET['fldr'];
$zip = new zipfile();
//function zipit($dir){
	echo "<b><font color=#FF0000>".$dir."</font></b><br>";
	$p = opendir($dir);
	while($f=readdir($p)){
		if(!is_dir($dir.$f)){
			$fileVar = $dir.$f;
			echo "".$fileVar."<br>"; 
			$fp = fopen ($fileVar, 'r');
			$content = fread($fp, filesize($fileVar));
			fclose ($fp);
			$zip->addfile($content, $fileVar);
		}else if($f!="." && $f!="..")  {
			$fileVar = $dir.$f."/";
			echo "<b>".$fileVar."</b><br>";
			//zipit($dir.$f."/");
		}
	}
//} zipit($dir);
/*	
$archive = $zip->file();
header('Content-Type: application/x-zip');
header('Content-Disposition: inline; filename=Dump.zip');
echo $archive;
*/
?>
Cela fonctionne tres bien, mais si je met ça dans une fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
<?php 
require_once('zip.lib.php');
$dir = $_GET['fldr'];
$zip = new zipfile();
function zipit($dir){
	echo "<b><font color=#FF0000>".$dir."</font></b><br>";
	$p = opendir($dir);
	while($f=readdir($p)){
		if(!is_dir($dir.$f)){
			$fileVar = $dir.$f;
			echo "".$fileVar."<br>"; 
			$fp = fopen ($fileVar, 'r');
			$content = fread($fp, filesize($fileVar));
			fclose ($fp);
			$zip->addfile($content, $fileVar);
		}else if($f!="." && $f!="..")  {
			$fileVar = $dir.$f."/";
			echo "<b>".$fileVar."</b><br>";
			//zipit($dir.$f."/");
		}
	}
} zipit($dir);
/*	
$archive = $zip->file();
header('Content-Type: application/x-zip');
header('Content-Disposition: inline; filename=Dump.zip');
echo $archive;
*/
?>
J'ai une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
/home/zozi/Desktop/Share/mnt/hdd1/SONS/Disco/
/home/zozi/Desktop/Share/mnt/hdd1/SONS/Disco/168 The Temptations -- Papa Was a Rolling Stone (full version).mp3
 
Fatal error: Call to a member function addfile() on a non-object in /home/zozi/Desktop/Share/mnt/37_gigollo/Negugoriak/home/zozizozu/www/supazoz.kicks-ass.org/upld.php on line 15
J'a pô compris !°)
C'est surement stupide pour pas voir ce qui ne va pas, j'y suis depuis 7h du mat et je ne comprend pas, j'espère que vous n'etes pas aussi fatigué que moi et que la solution est là, toute simple ....
Merci de votre attention, et de votre indulgence,
Cordialement,
zoz