8791 sujets
ben non, si je fais :
je laisse tomber pour ce soir ( obligation familiale oblige !) et revois tout ça demain, encore merci du temps que tu as passé à ce souci
../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg
echo '../../' .$sup. '/mini/' .$tableau[1];
voila ce qu'il m'affiche (il n'affiche toujours pas l'image !)je laisse tomber pour ce soir ( obligation familiale oblige !) et revois tout ça demain, encore merci du temps que tu as passé à ce souci
../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg../../drole//mini/002.jpg
Bonjour ,
bon, ce matin je me dis que je vais essayer d'y voir un peu plus clair, je commence par reprendre mes variables de départ, j'ai donc au départ :
puis
donc à partir de maintenant plutôt que d'utiliser
continue de me renvoyer l'erreur suivante :
Warning: opendir(../..//mini/) [function.opendir]: failed to open dir: No error in C:\xampp\htdocs\liste\admin\maintenance\supprime.php on line 169
incompréhensible pourquoi la variable $dir_mini me renvoie un "../..//mini/" avec opendir alors qu'elle me renvoie un ../../répertoire_demandé/mini/" avec le reste !
bon, ce matin je me dis que je vais essayer d'y voir un peu plus clair, je commence par reprendre mes variables de départ, j'ai donc au départ :
$sup = $_POST['sup'];
valeur que je récupère de mon formulaire dans index.php et qui fonctionnepuis
// on défini le répertoire où sont stockées les images de grande taille
$dir = "../../" .$sup. "/pics";
// on défini le répertoire où seront stockées les miniatures
$dir_mini = "../../" .$sup. "/mini/";
donc à partir de maintenant plutôt que d'utiliser
'../../' .$sup. '/mini/'
j'utiliserais donc par sécurité : $dir
je teste le formulaire (index.php) avec deux dossiers et ça renvois bien le contenu du dossier demandé donc on peux imaginer qu'il n'y a pas d'erreur au niveau de l'écriture des variables puisque l'affichage des images se fait bien et la lecture du code html de la page renvoyée le confirme, ben non, cette satanée ligne 169 ( $dossier = opendir ($dir_mini);
while ($fichier = readdir ($dossier)) {
if ($fichier != '.' && $fichier != '..' && $fichier != 'supprime.php') {
$tableau[] = $fichier;
}
}
closedir ($dossier);
)continue de me renvoyer l'erreur suivante :
Warning: opendir(../..//mini/) [function.opendir]: failed to open dir: No error in C:\xampp\htdocs\liste\admin\maintenance\supprime.php on line 169
incompréhensible pourquoi la variable $dir_mini me renvoie un "../..//mini/" avec opendir alors qu'elle me renvoie un ../../répertoire_demandé/mini/" avec le reste !
toujours plus fou :
j'essaie en réécrivant tout mes chemins sans ma variable $sup soit comme ceci :
mais si j'écris les chemin comme ceci :
j'essaie en réécrivant tout mes chemins sans ma variable $sup soit comme ceci :
"../../pics"
et la tout fonctionne nickel (en plaçant bien évidement les dossiers ci dessus nommé au bon endroit !)mais si j'écris les chemin comme ceci :
"../../drole/pics"
plus rien ne fonctionne (toujours en plaçant bien évidement les dossiers ci dessus nommé au bon endroit !) et je me retrouve avec la même erreur que si je faisait appel à $suppff, j'en suis sur de l'architecture, je l'ai revérifiée mille fois, qu'est que je dis, même dix mille fois !
j'ai choisi la facilité en fait c'est pour gérer mes galeries photos donc il y a 6 pages, un login, un index une page pour ajouter une autre pour renommer une autre pour créer des miniatures et enfin une pour supprimer, ben celles qui fonctionnent pas avec cette méthode comme celle dont on parle et bien je la copie dans chaque dossiers et je fais juste un lien pointant vers le dossier voulu, pas bien, je sais mais bon au moins ça fonctionne !
j'ai choisi la facilité en fait c'est pour gérer mes galeries photos donc il y a 6 pages, un login, un index une page pour ajouter une autre pour renommer une autre pour créer des miniatures et enfin une pour supprimer, ben celles qui fonctionnent pas avec cette méthode comme celle dont on parle et bien je la copie dans chaque dossiers et je fais juste un lien pointant vers le dossier voulu, pas bien, je sais mais bon au moins ça fonctionne !

Pour qu'on puisse vérifier l'architecture avec toi, pourrais tu faire ces commandes windows, et coller le résultat ? (Démarrer -> Executer, ou Windows+R)
Peux tu aussi tester ceci dans ton code, en remplacent ceci :
Par cela :
Et colle nous le résultat stp
(Le but est de trouver quels sont les variables POST définies, d'après ce que je vois, rien n'est défini)
Pour info, tu peux voir tout le contenu des variables avec ce code :
Modifié par Super_baloo8 (30 Mar 2012 - 00:45)
CD C:\xampp\htdocs\liste
dir
Peux tu aussi tester ceci dans ton code, en remplacent ceci :
$sup = $_POST['sup'];
Par cela :
$sup = $_POST['sup'];
var_dump($_POST);
Et colle nous le résultat stp

(Le but est de trouver quels sont les variables POST définies, d'après ce que je vois, rien n'est défini)
Pour info, tu peux voir tout le contenu des variables avec ce code :
var_dump($GLOBALS);
Modifié par Super_baloo8 (30 Mar 2012 - 00:45)
salut Super_baloo8 si je tape la commande que tu me donne j'ai comme réponse "Windows ne trouve pas CD" bon j'imagine que tu voulais que je fasse un cmd, alors si c'est cela en voila le résultat :
je n'ai pas encore testé le bout de code que tu me conseille de changer, je me lève à peine mais dès que c'est fait je te poste le résultat
me revoici me revoila,
bon voici le résultat à ta commande (
Modifié par padymen (30 Mar 2012 - 07:32)
29/23/2012 16:05 <REP> .
29/23/2012 16:05 <REP> ..
29/23/2012 15:10 <REP> admin
28/23/2012 10:27 <REP> css
29/23/2012 14:55 <REP> drole
29/23/2012 15:15 <REP> fe
11/03/2012 12:53 4117 index.php
je n'ai pas encore testé le bout de code que tu me conseille de changer, je me lève à peine mais dès que c'est fait je te poste le résultat
me revoici me revoila,
bon voici le résultat à ta commande (
$sup = $_POST['sup'];
var_dump($_POST);
) :array(1) { ["sup"]=> string(5) "drole" }
par contre si je demande à voir toutes les variables, brrrr y'en a pour six mois de lecture intensive !!! Modifié par padymen (30 Mar 2012 - 07:32)
Merci pour les résultats.
Donc ça confirme que le dossier "drole" existe bien.
Ça confirme aussi que la variable "$_POST['sup']" est bien rempli.
Tu peux tester ceci (bien n'ayant pas vu le script entier, je me suis basé sur ce que tu as présenté, à moins que j'ai mal lu)
P.S : Pour le $GLOBALS, c'est normal d'avoir des centaines de lignes de résultat, mais tu peux l'utiliser pour débugger ton script, en voyant quelle variable n'a pas le contenu attendu.
Modifié par Super_baloo8 (30 Mar 2012 - 21:35)
Donc ça confirme que le dossier "drole" existe bien.
Ça confirme aussi que la variable "$_POST['sup']" est bien rempli.
Tu peux tester ceci (bien n'ayant pas vu le script entier, je me suis basé sur ce que tu as présenté, à moins que j'ai mal lu)
if(isset($_POST['sup']) AND trim($_POST['sup']) != '')
{
$sup = trim($_POST['sup']);
$pathrel = '../../'; //Chemin relatif à la racine
$dir_gal = $pathrel.$sup //Chemin du dossier de la galerie
$dir = $dir_gal.'/pics'; //Répertoire des photos de la galerie
$dir_mini = $dir_gal.'/mini'; // Répertoire des miniatures des photos de la galerie
if(is_dir($dir_mini)) //Vérifier que le répertoire obtenu est bien un répertoire
{
$tableau = array(); //On initialise le tableau pour retourner les photos
if($dossier = opendir($dir_mini))//On ouvre le dossier
{
while($fichier = readdir($dossier)) //On lis les fichiers présents dans le répertoire
{
if($fichier != 'supprime.php' AND filetype($dir_mini.$fichier) != 'dir') //Ne pas prendre en compte les répertoires, ni le fichier supprime.php
{
$tableau[] = $fichier; //On associe tous les fichiers au tableau initialisé plus haut
}
}
closedir ($dossier); //On ferme le dossier
}
else
{
echo '<p>$dir_mini n\'est pas accessible : '.$dir_mini.'</p>';
}
}
else
{
echo '<p>$dir_mini n\'est pas un répertoire valide : '.$dir_mini.'</p>';
}
}
else
{
echo '<p>$_POST[\'sup\'] n\'est pas définis ou il est vide</p>';
}
P.S : Pour le $GLOBALS, c'est normal d'avoir des centaines de lignes de résultat, mais tu peux l'utiliser pour débugger ton script, en voyant quelle variable n'a pas le contenu attendu.
Modifié par Super_baloo8 (30 Mar 2012 - 21:35)
Il va falloir apprendre à trouver où ça coince un peu tout seul quand même hein
C'est la ligne du dessus que j'ai oublié de fermée :
Ensuite, ce code, c'est à toi de l'intégrer où il faut, il y a même surement du découpage à faire, car je n'ai pas le code de la page qui traite ton formulaire
J'ai tout commenté, alors tu devrais pouvoir y arriver tout seul

C'est la ligne du dessus que j'ai oublié de fermée :
$dir_gal = $pathrel.$sup[b][#red];[/#][/b]
Ensuite, ce code, c'est à toi de l'intégrer où il faut, il y a même surement du découpage à faire, car je n'ai pas le code de la page qui traite ton formulaire

J'ai tout commenté, alors tu devrais pouvoir y arriver tout seul

Hello,
bon j'ai essayé avec ton code et toujours le même souci, hallucinant quand même , cette page "suppprime.php" devrait faire deux choses à partir de la même variable (
array(0) { }
bon j'ai essayé avec ton code et toujours le même souci, hallucinant quand même , cette page "suppprime.php" devrait faire deux choses à partir de la même variable (
$sup
) elle le fait bien pour l'un et pas pour l'autre à savoir : lorsque cette page est lancée, elle doit afficher les miniatures du dossier renseigné par la variable $sup, et elle le fait très bien son deuxième boulot à cette page est lorsque l'on clique sur une image de supprimer l'image et sa miniature et beh là j'ai : $_POST['sup'] n'est pas définis ou il est videarray(0) { }
Voila le lien qui est censé supprimer l'image et la miniature
sans vouloir te contredire, pourquoi faudrait il repasser par un formulaire pour supprimer l'image et sa miniature puisque lorsque j'utilise des chemins du style
ah oui, et voila le formulaire de ma page index.php qui appelle ma page supprime.php :
Modifié par padymen (31 Mar 2012 - 14:15)
echo '<td class="cadre rond"><a href="supprime.php?del=' . $tableau[$i] . '"><img src="../../' . $sup . '/mini/' . $tableau[$i] . '" alt="Image" /></a></td>';
sans vouloir te contredire, pourquoi faudrait il repasser par un formulaire pour supprimer l'image et sa miniature puisque lorsque j'utilise des chemins du style
echo '<td class="cadre rond"><a href="supprime.php?del=' , $tableau[$i] , '"><img src="../../drole/mini/' , $tableau[$i] , '" alt="Image" /></a></td>';
ça fonctionne parfaitementah oui, et voila le formulaire de ma page index.php qui appelle ma page supprime.php :
<div >
<!--<h1>Suppression</h3>-->
<p>Suppression d'images et de miniatures</p>
<form action="supprime.php" method="post" border="0"><br />
<label for='service'></label>
<select id='sups' name='sup' class='formStd' >
<option value="drole">drole</option>
<option value="fe">fond d ecran</option>
</select>
<input class="button" type="submit" value="valider">
</form>
</div>
Modifié par padymen (31 Mar 2012 - 14:15)
C'est bien ce qu'il me semblait, lorsque tu cliques sur ce style de lien (qui apparaît, si j'ai bien compris, après le formualaire)
En cliquant sur ce lien, la variable $_POST n'est plus définis, et c'est bien normal, seul un formulaire peut transmettre ce type de variable (ou avec cUrl, mais c'est autre chose).
Quel est le bout de code de ta page supprimer.php pour l'action "$_GET['del']" ?
Modifié par Super_baloo8 (01 Apr 2012 - 03:55)
supprime.php?del=' , $tableau[$i] , '"
En cliquant sur ce lien, la variable $_POST n'est plus définis, et c'est bien normal, seul un formulaire peut transmettre ce type de variable (ou avec cUrl, mais c'est autre chose).
Quel est le bout de code de ta page supprimer.php pour l'action "$_GET['del']" ?
Modifié par Super_baloo8 (01 Apr 2012 - 03:55)
oui c'est la page index.php qui contient le formulaire et qui renvoie donc vers la page supprime.php
if (isset($_GET['del'])) {
if (empty($_GET['del'])) {
$erreur = 'Aucune image à supprimer';
}
else {
$pic_a_zapper = $_GET['del'];
// si l'image existe ainsi que sa miniature, on les supprime
if (is_file('"../" .$sup. "/mini/"'.$pic_a_zapper) && is_file('"../../" .$sup. "/pics/"'.$pic_a_zapper)) {
unlink('"../" .$sup. "/mini/"'.$pic_a_zapper);
unlink('"../" .$sup. "/pics/"'.$pic_a_zapper);
}
// si l'image ou la miniature n'existe pas, on affiche un message d'erreur
else {
$erreur = 'Image non reconnue';
}
}