Code ne fonctionne que sur une seul base de données
Posté : 18 juil. 2016, 15:36
Bonjour à tous,
J'ai crée un script qui va à partir de fichiers me construire un zip, après cela il le télécharge en javascri^pt sur le client puis en ajax le détruit.
pour le php :
ce code fonctionne très bien seul problème, par contre quand je change la base de données si je clique pour télécharger le zipp j'ai qui vient de le zip n'ai crée. Logiquement je change juste mon fichier de connexion à la base de données je ne comprend pas pourquoi le zipp ne se créer pas. Auriez vous un conseil pour m'aider à localiser le problème? Merci à vous.
J'ai crée un script qui va à partir de fichiers me construire un zip, après cela il le télécharge en javascri^pt sur le client puis en ajax le détruit.
Code : Tout sélectionner
// Partie zip
//fonction permettant de créer le zip
function zip(num_affaire,id_dm)
{
requete = CreerRequete();
if (requete)
{
requete.open("GET", "formulaire/fichier/zip.php?num_affaire="+num_affaire+"&id_dm="+id_dm, false);
requete.send();
download_zip(num_affaire);
}
}
//fonction permettant de télécharger le zip
function download_zip(num_affaire)
{
var url = "formulaire/fichier/"+num_affaire+".zip";
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
if(http.status!=404)
{
window.location = url;
setTimeout(function(){ delete_zip_on_server(num_affaire)}, 6000);
}
}
//fonction permettant la suppression
function delete_zip_on_server(num_affaire)
{
requete = CreerRequete();
if (requete)
{
requete.open("GET", "formulaire/fichier/delete_zip.php?num_affaire="+num_affaire, false);
requete.send();
}
}
Code : Tout sélectionner
<?php
include("../../../../connexion.php");
$zip = new ZipArchive;
$file = $_GET['num_affaire'].'.zip';
$res = $zip->open($file, ZipArchive::CREATE);
/*
Séléction des fichiers de l'affaire
*/
$req_fichier = "SELECT *
FROM POP_FICHIER_DM
WHERE ID_DM = :iddm";
$stmt = oci_parse($conn, $req_fichier);
oci_bind_by_name($stmt,':iddm', $_GET['id_dm'],OCI_B_INT);
oci_execute($stmt);
/*
Ajout des fichiers dans le zip
*/
while($fichier= oci_fetch_assoc($stmt))
{
$requete4 = "SELECT TYPE_FICHIER_DM,FICHIER_DM,LABEL_FICHIER_DM
FROM POP_FICHIER_DM
WHERE ID_FICHIER_DM = ".$fichier['ID_FICHIER_DM'];
$statement4 = oci_parse($conn, $requete4);
oci_execute($statement4,OCI_COMMIT_ON_SUCCESS);
$list4 = oci_fetch_assoc($statement4);
$fichier_data = $list4['FICHIER_DM']->load();
$zip->addFromString($fichier['LABEL_FICHIER_DM'], $fichier_data);
}
$zip->close();
oci_free_statement($stmt);
oci_free_statement($statement4);
?>
Code : Tout sélectionner
dm.js:347 HEAD http://ami2-sv10029/pop_maj/module/demande/formulaire/fichier/DL%20C02089220-004.zip 404 (Not Found)Code : Tout sélectionner
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
if(http.status!=404)
{
window.location = url;
setTimeout(function(){ delete_zip_on_server(num_affaire)}, 6000);
}