Bonjour a tous,

Je suis en train de bugguer sur un problème de zip de fichiers sur un serveur distant, le fichier appelé me renvoi une erreur 500.
Si j'utilise ce script sur le même serveur que les fichiers a zipper cela fonctionne.
Mais si je tente de zipper des fichiers sur un serveur distant cela ne fonctionne pas, la condition if (($conn_client_id) and ($login_client_result)){ est OK, mais l'erreur 500 m'est retournée.

Voici mon 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
ini_set('memory_limit', '512M');
	$dire=mon_repertoire/cl/'.$nomdoss;   /* chemin si j'utilise ce script avec des fichiers a zipper, le tout hebergé sur le meme serveur */
        if (($conn_client_id) and ($login_client_result)){	$dire=$chemin_conx.'/cl/'.$nomdoss; /* chemin si j'utilise ce script sur le serveur 1 et que je veux zipper les fichiers présents sur le serveur 2 */ }
 
	$nom=$nomdoss;
	$zip = new ZipArchive;
	$temp_file = tempnam(sys_get_temp_dir(), 'zip');
 
	$res = $zip->open($temp_file, ZipArchive::CREATE);
	if ($res === TRUE) 
	{
		$iterator = new DirectoryIterator(''.$dire.'');// répertoire à lister
		foreach ($iterator as $fileinfo) 
		{
			$fillok=$fileinfo->getFilename();
			if ($dest<>"")
			{
				$res=$base->query("SELECT * FROM `table_liste_doc` where `nom_doc`='$fillok' and `$dest`='1'")->fetchAll(PDO::FETCH_ASSOC);
			}
			else
			{
				$res = $base->query("SELECT * FROM `table_liste_doc` where nom_doc='$fillok'")->fetchAll(PDO::FETCH_ASSOC);
			}
			$fillok=substr ($fillok, 0, 6);
			foreach ($res as $tmpn2 => $cl)
			{
				if ($fillok != 'DOCINT' and $fillok != 'PROPBQ')
				{
					if ($fileinfo->isFile() && $fileinfo->getFilename() != '.htaccess') 
					{
						$zip->addFile($fileinfo->getPathname());
					}
				}
			}
		}
		$zip->close();
 
		header("Content-Type: application/force-download");
		header('Content-Type: application/octet-stream');
		header('Content-Disposition: attachment; filename="'.$nom.'.zip"'); //Nom du fichier.
		header('Content-Length: '.filesize($temp_file)); //Taille du fichier.
		readfile($temp_file);
	}

Merci pour toute votre aide .
Guillaume