IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Faire marcher unlink


Sujet :

Langage PHP

  1. #21
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    je viens d'essayer ftp_delete ; comme il faut d'abord faire un ftp_connect, je l'ai fait, mais il me dit : undefined function... (c'est chez Free).
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #22
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Chez free, je place un fichier dans un repertoire upload
    je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unlink("upload/fichier.jpg");
    le fichier est supprimé.

    Si je mets un mauvais répertoire ou un mauvais fichier ca fait une belle erreur.

    Si tu n'obtiens pas ces résultats c'est que tu fais d'autres choses dans ton code que tu ne nous dis pas ou que le fichier est bel et bien supprimé.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #23
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Si tu n'obtiens pas ces résultats c'est que tu fais d'autres choses dans ton code que tu ne nous dis pas ou que le fichier est bel et bien supprimé.
    Je suis de cette avis.

    Encore un nouvel essai pour tenter de mieux comprendre ton problème.
    Crée un fichier (genre supprimer.php) avec uniquement ce 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
     
    <?php
    file_put_contents('supprimer.txt', 'bla_bla_bla');
     
    //
    if (file_exists("supprimer.txt")) {
    	echo 'Fichier est présent<br />';
    	//
    	if (function_exists("unlink")) {
    		if (unlink("supprimer.txt")) {
    			echo 'Fichier supprimé.<br />';
    		}
    		else {
    			echo 'Fichier non supprimé.<br />';
    		}
    	}
    	else {
    		echo 'Erreur avec la fonction unlink()<br />';
    	}
    }
    else {
    	echo 'Fichier non présent<br />';
    }
    ?>
    L'idéal serait de faire cet essai à la racine du domaine.

    Si le fichier ne se supprime pas, alors il faut chercher des infos du coté de ton hébergeur.
    Quand est il de cette fonction unlink() ?
    Les droits sur les fichiers/répertoires ?
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  4. #24
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    En fait, le unlink marche bien si je mets le fichier à la racine, mais pas s'il est dans un répertoire, mais je ne vois pas ce qui ne pas ce qui ne va pas. (Et là, ce n'est pas chez Free, mais 1&1) Pouvez-vous me le dire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     $path="/upload/";
    $file="bebes.bmp";
     
    foreach ($file as $nom_fichier) {
         unlink($_SERVER['DOCUMENT_ROOT'].$path.$nom_fichier);
    }
    (En fait, le code PHP est dans un répertoire nommé "upload", qui contient lui-même un sous-répertoire nommé aussi "upload".
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  5. #25
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unlink("upload/" . $nom_fichier);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #26
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $file="bebes.bmp";
     
    foreach ($file as $nom_fichier) {
         unlink("upload/" . $nom_fichier);
    }
    ça ne marche pas non plus
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  7. #27
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Evite les complications, fais au plus simple, soit indiquer des chemins "en dur" dans un 1er temps.
    Faut avant tout comprendre pourquoi ça ne supprime pas.

    Le dernier essai était là pour affirmer que la fonction unlink() était fonctionnelle.

    Maintenant reste 2 autres questions :
    - les droits (j'y crois moyennement)
    - Une erreur sur le chemin ou le nom du fichier. C'est ce qui me semble le plus probable.

    Pour en connaitre la cause, rien de tel que du code simple. Après on rend le truc plus "dynamique".

    Pour faire simple, essai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    unlik("upload/bebes.bmp");
    ?>
    Si tu est certain que là où tu exécute le unlink() il y a un répertoire "upload" et que dans ceclui ci se trouve "bebes.bmp" et qu'il ne se supprime pas, et bien vérifie, observe même s'il n'y aurait pas un espace " upload", ou "uplo ad",une majuscule, caractère spéciaux, etc ...
    Renomme les au besoin.
    C'est des coups à y passer des nuits.



    $file="bebes.bmp";

    foreach ($file as $nom_fichier) {
    unlink("upload/" . $nom_fichier);
    }
    A savoir que ceci ne peut pas fonctionner car un foreach() attend un tableau. On t'a déjà fais la remarque.
    Si le nom du fichier ce trouve dans une variable (pas un tableau), exploite simplement cette variable.
    Si tu as plusieurs fichiers stockés dans un tableau, alors un foreach() sera approprié.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $file = "bebes.bmp";
    unlink("upload/" . $file);
    $file et nom $nom_fichier.
    Puis "upload/" et non "/upload/"
    Faut éviter de genre d'erreurs.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  8. #28
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ça ne marche pas non plus
    Je t'ai déjà dit en première page qu'il fallait un tableau pour que le test puisse fonctionner.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #29
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    En fait, ceci marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      $nom_fichier="bebes.bmp; 
      unlink("upload/".$nom_fichier);
    , mais pas ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $nbfiles=sizeof($_POST["fichier"]);
    $file=$_POST["fichier"];
    for ($i=0;$i<$nbfiles;$i++) {
        $path="upload/";
    	echo "<br>Fichier a effacer :".$path.$file[$i]."<br>";
    	}
     
    foreach ($file as $nom_fichier) {
         unlink("upload/".$nom_fichier);}
     
    ?>
    Comme $file est bien un tableau, ça devrait convenir pour le foreach, donc qu'est-ce qui ne va pas ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  10. #30
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Citation Envoyé par laurentSc
    En fait, ceci marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      $nom_fichier="bebes.bmp; 
      unlink("upload/".$nom_fichier);
    Ok


    Citation Envoyé par laurentSc
    Comme $file est bien un tableau
    Non ... oui ... enfin non, à défaut d'autres infos ou rebondissement.

    En faisant ceci $file=$_POST["fichier"]; tu affecte la valeur de $_POST["fichier"] à la variable $file.
    $file est donc une simple variable.

    Si tu avais fait ceci : $file=$_POST;, alors $file aurait été un tableau ... identique à $_POST.
    Vois tu mieux la différence ?

    Ce qui fait que tout le reste tombe à l'eau.
    Cependant, vu que tu insiste beaucoup sur le fait de vouloir boucler sur un tableau, est ce que par hasard tu ne souhaiterais pas supprimer plusieurs fichiers ?
    En tout cas, pour qu'on puisse en juger, faudrait avoir le code du formulaire qui renvoie ces données en POST.
    Sans cela il sera impossible d'en dire plus.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  11. #31
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Oui, mais j'avais pris $file pour un tableau à cause de la notation $file[$i]. Sinon, voici le formulaire : il y a bien plusieurs fichiers, vu que je fais un select :
    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
    echo "if ($handle = opendir('.')) {
    echo "<FORM action=\"action_effacer.php\" method=\"post\">";
     
    <SELECT multiple name=\"fichier[]\" SIZE=4>";
    while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
    		echo "<option value=\"".$file."\n\">";
    		echo $file."\n";
    		echo "</option>";
            }
    }
    echo "</SELECT><br>";
    echo '<input name="envoyer" value="Effacer les fichiers" type="submit">';
    echo "</FORM>";
    closedir($handle);
    }
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  12. #32
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Commence d'abord par corriger les erreurs de syntaxes comme pour le 1er echo par exemple, etc ..., et surtout supprime les retours chariots que tu as mis sur le nom des fichiers (t'as déjà vu ça ou ?).

    Ensuite adopte les astuces qu'on t'as déjà donné, comme faire des echo, var_dump, print_r, etc ... pour afficher le contenu de certaines données, comme le POST.
    Ceci va te permettre de voir ce que tu obtiens, de voir la structure du tableau. Au bout, tu sauras quelle méthode à adopter pour le parcourir.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  13. #33
    Membre éprouvé
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 808
    Points : 912
    Points
    912
    Par défaut
    Bonjour,
    J'ai l'impression que la discussion dérive. Entre unlink sous windows et hébergé, il faut faire la différence et ouvrir une nouvelle discussion.

  14. #34
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Je me tire des plombs.
    D'abord, je ne vois pas pourquoi la discussion dérive.
    Ensuite, le code de la fonction effacer.php était un peu faux ; voici le bon (actuellement) :
    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
    if ($handle = opendir('.')) {
     
    echo "<FORM action=\"action_effacer.php\" method=\"post\">";
     
    echo "<SELECT multiple name=\"fichier[]\" SIZE=4>";
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
    		echo "<option value=\"".$file.">";
            echo "$file";
    		echo "</option>";
            }
        }
    	echo "</SELECT><br>";
    	echo '<input name="envoyer" value="Effacer le fichier"
     type="submit">';
        echo "</FORM>";
        closedir($handle);
    }
    j'ai retiré les retours chariot qui venaient de ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if ($handle = opendir('.')) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
                echo "$file\n";
    			echo "<br>";
            }
        }
        closedir($handle);
    }
    pour afficher le contenu d'un répertoire et qui marche.
    Le problème avec mon code, c'est qu'il n'affiche dans la liste du select qu'un fichier sur deux.
    Le problème suivant vient de la fonction action_effacer.php : je commence avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $nbfiles=sizeof($_POST["fichier"]);
    echo "nbfiles=".$nbfiles."<br>";
    $file=$_POST["fichier"];
    for ($i=0;$i<nbfiles;$i++) {
       echo "File=".$file[$i]."<br>";}
    et nbfiles a beau être non nul, il n'affiche aucun fichier !

    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  15. #35
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Citation Envoyé par kabkab
    J'ai l'impression que la discussion dérive. Entre unlink sous windows et hébergé, il faut faire la différence et ouvrir une nouvelle discussion.
    Non, le unlink() fonctionne, c'était un problème de chemin, entre autre.
    Puis une rapide recherche sur le Net me dis que la fonction unlink() ne fonctionne pas effectivement sur Win., mais pour Php4.0 et antérieur.
    Il est sur Php4.4.9, il n'a donc pas de raison que ça ne fonctionne pas.


    Citation Envoyé par RunCodePhp
    Ensuite adopte les astuces qu'on t'as déjà donné, comme faire des echo, var_dump, print_r, etc ... pour afficher le contenu de certaines données, comme le POST.
    Et bien ça donne quoi un var_dump($_POST) ?
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  16. #36
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    var_dump($_POST) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(2) { ["fichier"]=> array(1) { [0]=> string(50) "01lecture.gif>01lecture.gif string(18) "Effacer le fichier" }
    et
    print_r($_POST) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array ( [fichier] => Array ( [0] => 01lecture.gif>01lecture.gif Effacer le fichier )
    Pour info, 01lecture.gif existe bien dans le répertoire, mais n'est pas affiché par effacer.php. D'ailleurs, si je sélectionne plusieurs fichiers, il y en a autant dans le var_dump et le print_r mais aucun n'est affiché. Sinon, bien que je ne sache pas vraiment lire var_dump et print_r, je n'aime pas les >
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  17. #37
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Mouais, bizarre ?
    Je ne vois pas comment tu peux obtenir un tel code avec un var_dump.
    Pour ma part il y a une erreur.
    As tu fais un copier/coller dans le forum ?

    Du coup j'ai un doute sur le comment il aurait du être.
    Admettons comme ceci, et en indentant le code, ça devrait ressembler à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    array(2) {
    	["fichier"]=>  array(1) {
    		[0]=>  string(13) "01lecture.gif"
    	}
    	["envoyer"]=>  string(18) "Effacer le fichier"
    }
    Comme ceci les choses deviennent plus clair normalement.

    • array(2) : Ici il est indiqué que le tableau contient 2 élément (fichier, envoyer)
    • Fichier et Envoyer est la 1ère dimension
    • Fichier contient 1 élément : [0] (01lecture.gif)
    • 01lecture.gif est la 2ème dimension du tableau POST



    Pour éviter de traiter 2 erreurs, faudrait simplifier les choses dans un 1er temps pour au moins régler le problème de la suppression des fichiers.

    Pour ton formulaire, mets y un code simple, en pure HTML et valide :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form action="action_effacer.php" method="post">
    	<select name="fichier[]" size="4" multiple="multiple">
    		<option value="01lecture.gif">01lecture.gif</option>
    		<option value="02lecture.gif">02lecture.gif</option>
    		<option value="03lecture.gif">03lecture.gif</option>
    		<option value="04lecture.gif">04lecture.gif</option>
    	</select>
    	<br />
    	<input type="submit" name="envoyer" value="Effacer le fichier" />
    </form>

    Ensuite pour la partie qui supprime :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $nbfiles = count($_POST["fichier"]);
    echo "nbfiles=".$nbfiles;
    echo "<br />";
     
    var_dump($_POST);
    echo "<br />";
     
    $file = $_POST["fichier"];
    foreach ($file as $nom_fichier) {
    	echo "File=".$nom_fichier[$i]."<br />";
    }
    Utilise plutôt un foreach(), ici ce sera plus pratique.

    Faut traiter problème par problème, car si on a 2 erreurs et l'un dépend de l'autre, c'est là que la galère commence.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  18. #38
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Ce qui est instructif, c'est que dans le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "File=".$nom_fichier[$i]."<br />";
    de la partie traitement, il n'affiche que le premier caractère du nom du fichier (pour le test, j'ai renommé un des fichiers pour qu'ils ne commencent pas tous par "0"), donc c'est évident que dans ces conditions, le unlink ne peut pas marcher ; mais comment lui faire afficher le nom entier ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  19. #39
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Sorry, j'ai fais une erreur ... faut pas de [$i]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "File=".$nom_fichier."<br />";
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  20. #40
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    génial : y a tout qui marche (enfin). En repartant de l'essai que tu m'as indiqué, j'ai d'abord rajouté le unlink (avec succès), puis côté "select", j'ai mis l'affichage du répertoire ; c'est presque le même code qu'avant ; ce qui change un pouillème, c'est la ligne avec les options :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        while (false !== ($file = readdir($handle))) {
    			if ($file != "." && $file != "..") {
    				echo '<option value="'.$file.'">'.$file.'</option>';
    			}
    		}
    Merci de ton aide, car même si la solution n'était pas loin, je n'y serais pas arrivé seul.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [réplication]N'arrive pas à le faire marcher!!!!
    Par mohamed dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 27/03/2006, 14h29
  2. Faire marcher mon flash disque sous linux
    Par sabrinaaa dans le forum Matériel
    Réponses: 2
    Dernier message: 02/03/2006, 08h22
  3. [ant] comment le faire marcher?
    Par afrikha dans le forum ANT
    Réponses: 11
    Dernier message: 23/12/2005, 16h18
  4. Impossible de faire marcher SESSIONS_PER_USER
    Par jack554 dans le forum Oracle
    Réponses: 7
    Dernier message: 05/01/2005, 11h50
  5. [Debutant(e)][Tomcat]Comment faire marcher Tomcat?
    Par chuck norris dans le forum Tomcat et TomEE
    Réponses: 11
    Dernier message: 24/11/2004, 16h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo