Comment mettre a la ligne un resultat en php

hannibal-lecter -  
 hannibal-lecter -
Bonjour,

j'ai mis en place une zone de texte dans une page php, le resultat s'affiche mais comment puis-je faire pour que celui-ci soit a la ligne

Fichier : <input type='textbox' name='' value=' <?php
$dirname = 'Vos-Fichiers-Uploder';
$dir = opendir($dirname);
while($file = readdir($dir)) {
if($file != '.' && $file != '..' && !is_dir($dirname.$file))
{
echo ''.$file.''; // ici je pense ?
}
}
closedir($dir);
?> 'border='0'>

11 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    il ne faut pas mettre la partie calcul de php dans la value=

    <?php
    $dirname = 'Vos-Fichiers-Uploder';
    $dir = opendir($dirname);
    $liste_fichiers="";
    //ou pour une liste selct
    $array_liste_fichiers=array();
    while($file = readdir($dir)) {
    	if($file != '.' && $file != '..' && !is_dir($dirname.$file))
    	{
    		$liste_fichiers.= $file."\n";  //\n pour le saut de ligne
    		//ou pour afficher dans une liste selct
    		$array_liste_fichiers[]=$file;
    	}
    }
    closedir($dir);
    ?>
    <!-- a ma connaisance le type textbox n'existe pas ! -->
    <textarea" name="liste_fichiers" cols="50" rows="30"><?php echo $liste_fichiers; ?></textarea>
    
    // OU affichage dans une liste
    <select name="liste_fichiers" multiple="multiple">
    <?php
    	for($i=0;$i<sizeof($array_liste_fichiers);$i++){
    		echo '<option value="'.$array_liste_fichiers[$i].'">'.$array_liste_fichiers[$i].'</option>';
    	
    	}
    
    ?>
    </select>
    0
  2. hannibal-lecter
     
    <form action='' method='post' name='Form'>
    <tr>
    <table width='100%' border='0' cellspacing='1' cellpadding='1'>
    <tr>
    <label>Fichier</label> :
    <textarea" name="liste_fichiers" cols="80" rows="40"><?php echo $liste_fichiers; ?></textarea>
    <br><select name="liste_fichiers" multiple="multiple">
    <?php
    $dirname = 'Vos-Fichiers-Uploder';
    $dir = opendir($dirname);
    $liste_fichiers="";
    $array_liste_fichiers=array();
    while($file = readdir($dir)) {
    if($file != '.' && $file != '..' && !is_dir($dirname.$file))
    {
    $liste_fichiers.= $file."\n"; //\n pour le saut de ligne
    $array_liste_fichiers[]=$file;
    }
    }
    closedir($dir);

    for($i=0;$i<sizeof($array_liste_fichiers);$i++){
    echo '<option value="'.$array_liste_fichiers[$i].'">'.$array_liste_fichiers[$i].'</option>';

    }

    ?>
    </select>
    <br> <input type='submit' name='submit' value='Supprimer' border='0'></td></tr>
    </table>
    </form>

    me manque la possibilité de supprimer le fichier précis que j'aurais sélectionner dans le textarea
    0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    Voir commentaires
    <?php
    //en mettant cette partie de code au début, la liste va se réafficher après la suppression, tu verra donc si ça a marché
    if(isset($_POST['supprimer'])){
    	// Le bouton supprimer a été cliqué
    	//recup du fichier choisi dans la liste déroulante
    	$fichier_a_supprimer=$_POST['liste_fichiers'];
    	//etc....
    }
    /////
    ?>
    
    <form action='' method='post' name='Form'>
    
    <table width='100%' border='0' cellspacing='1' cellpadding='1'>
    <tr><td>
    <!-- dans une table il faut des lignes tr mais aussi des colonnes td -->
    <label>Fichier</label> :
    
    <!-- il ne faut pas mettre le textarea et la liste select, je t'avais mis le sdeux a titre d'exemple 
    tu ne peux pas selectionnner une ligne dans un textarea, c'est mieux dans une liste déroulante
    de plus si tu mets le code php qui genére la liste fichier après le textarea ça ne peut pas fonctionner
    <textarea" name="liste_fichiers" cols="80" rows="40"><?php //echo $liste_fichiers; ?></textarea>-->
    </td>
    <td><select name="liste_fichiers">
    <?php
    $dirname = 'Vos-Fichiers-Uploder';
    $dir = opendir($dirname);
    
    $array_liste_fichiers=array();
    while($file = readdir($dir)) {
    	if($file != '.' && $file != '..' && !is_dir($dirname.$file))
    	{
    		$array_liste_fichiers[]=$file;
    	}
    }
    closedir($dir);
    
    for($i=0;$i<sizeof($array_liste_fichiers);$i++){
    	echo '<option value="'.$array_liste_fichiers[$i].'">'.$array_liste_fichiers[$i].'</option>';
    }
    
    ?>
    </select>
    </td></tr>
    <tr><td colspan="2"> <input type="submit" name="supprimer" value="Supprimer" ></td></tr> <!-- pas de border dans un input !  -->
    </table>
    </form>
    
    0
    1. hannibal-lecter
       
      Merci Alain c'est exactement ça que je cherche mais, apparemment le fichier en question ne se supprime pas, faut t'il que je mette les droit chmod ?
      0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    oui bien sur car le fichier est supprimer par le script php donc Apache et il n'est pas le "propietaire" donc modifies le chmod de tous les fichiers
    0
    1. hannibal-lecter
       
      non j'ai mis le chmod en 777 cela ne fonctionne pas ( pourtant il à tout les droits) , il liste bien les fichier du dossier "Vos-Fichiers-Uploder" ( ça c'est top merci) mais il ne les supprime pas quand je clique sur supprimer

      faudrait qu'il puisse supprimer des extension précise .jpg | .gif | .png | .pdf
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Alain_42 Messages postés 5413 Statut Membre 904
     
    fais voir ton script de suppression
    0
    1. hannibal-lecter
       
      c'est le tien que tu ma mis en haut, je les tester il ne fonctionne pas
      0
    2. hannibal-lecter
       
      Regarde :

      <?php
      //en mettant cette partie de code au début, la liste va se réafficher après la suppression, tu verra donc si ça a marché
      if(isset($_POST['supprimer'])){
      // Le bouton supprimer a été cliqué
      //recup du fichier choisi dans la liste déroulante
      $fichier_a_supprimer=$_POST['liste_fichiers'];
      //etc....
      }
      /////
      ?>


      <form action='' method='post' name='Form'>

      // Pour que ça fonctionne c là qui faut coller le code ?

      <?php
      if(isset($_POST['supprimer'])){
      $fichier_a_supprimer=$_POST['liste_fichiers'];
      }
      ?>

      <table width='100%' border='0' cellspacing='1' cellpadding='1'>
      <tr><td>
      <!-- dans une table il faut des lignes tr mais aussi des colonnes td -->
      <label>Fichier</label> :

      <!-- il ne faut pas mettre le textarea et la liste select, je t'avais mis le sdeux a titre d'exemple
      tu ne peux pas selectionnner une ligne dans un textarea, c'est mieux dans une liste déroulante
      de plus si tu mets le code php qui genére la liste fichier après le textarea ça ne peut pas fonctionner
      <textarea" name="liste_fichiers" cols="80" rows="40"><?php //echo $liste_fichiers; ?></textarea>-->
      </td>
      <td><select name="liste_fichiers">
      <?php
      $dirname = 'Vos-Fichiers-Uploder';
      $dir = opendir($dirname);

      $array_liste_fichiers=array();
      while($file = readdir($dir)) {
      if($file != '.' && $file != '..' && !is_dir($dirname.$file))
      {
      $array_liste_fichiers[]=$file;
      }
      }
      closedir($dir);

      for($i=0;$i<sizeof($array_liste_fichiers);$i++){
      echo '<option value="'.$array_liste_fichiers[$i].'">'.$array_liste_fichiers[$i].'</option>';
      }

      ?>
      </select>
      </td></tr>
      <tr><td colspan="2"> <input type="submit" name="supprimer" value="Supprimer" ></td></tr>
      </table>
      </form>
      0
  7. Alain_42 Messages postés 5413 Statut Membre 904
     
    si tu n'a pas completé cette partie c'est normal que ça ne fasses rien:
    <?php
    //en mettant cette partie de code au début, la liste va se réafficher après la suppression, tu verra donc si ça a marché
    if(isset($_POST['supprimer'])){
    // Le bouton supprimer a été cliqué
    //recup du fichier choisi dans la liste déroulante
    $fichier_a_supprimer=$_POST['liste_fichiers'];
    //etc....
    //la il faut rajouter du code pour supprimer le fichier
    
    /// unlink(...)
    }
    /////
    ?> 
    0
    1. hannibal-lecter
       
      ok donc quel code exactement ?
      0
  8. Alain_42 Messages postés 5413 Statut Membre 904
     
    0
    1. hannibal-lecter
       
      Donc si comprend bien ....

      voilà comment doit se présenter le code :

      <?php 
      //en mettant cette partie de code au début, la liste va se réafficher après la suppression, tu verra donc si ça a marché 
      if(isset($_POST['supprimer'])){ 
      // Le bouton supprimer a été cliqué 
      //recup du fichier choisi dans la liste déroulante 
      $fichier_a_supprimer=$_POST['liste_fichiers']; 
      unlink("../'Vos-Fichiers-Uplode/$fichier");   // unlink la fonction suppression  
                                                                                  // $fichier désigne quel fichier supprimer
      } 
      ?> 
      
      
      <form action='' method='post' name='Form'> 
      ?> 
      
      <table width='100%' border='0' cellspacing='1' cellpadding='1'> 
      <tr><td> 
      <!-- dans une table il faut des lignes tr mais aussi des colonnes td --> 
      <label>Fichier</label> : 
      
      <!-- il ne faut pas mettre le textarea et la liste select, je t'avais mis le sdeux a titre d'exemple 
      tu ne peux pas selectionnner une ligne dans un textarea, c'est mieux dans une liste déroulante 
      de plus si tu mets le code php qui genére la liste fichier après le textarea ça ne peut pas fonctionner 
      <textarea" name="liste_fichiers" cols="80" rows="40"><?php //echo $liste_fichiers; ?></textarea>--> 
      </td> 
      <td><select name="liste_fichiers"> 
      <?php 
      $dirname = 'Vos-Fichiers-Uploder'; 
      $dir = opendir($dirname); 
      
      $array_liste_fichiers=array(); 
      while($file = readdir($dir)) { 
      if($file != '.' && $file != '..' && !is_dir($dirname.$file)) 
      { 
      $array_liste_fichiers[]=$file; 
      } 
      } 
      closedir($dir); 
      
      for($i=0;$i<sizeof($array_liste_fichiers);$i++){ 
      echo '<option value="'.$array_liste_fichiers[$i].'">'.$array_liste_fichiers[$i].'</option>'; 
      } 
      
      ?> 
      </select> 
      </td></tr> 
      <tr><td colspan="2"> <input type="submit" name="supprimer" value="Supprimer" ></td></tr> 
      </table> 
      </form>



      Jusqu'à là j'ai bon ?
      0
  9. Alain_42 Messages postés 5413 Statut Membre 904
     
    NON

    $fichier_a_supprimer=$_POST['liste_fichiers'];  
    unlink("../Vos-Fichiers-Uplode/$fichier_a_supprimer");   // unlink la fonction suppression  
    0
    1. hannibal-lecter
       
      oui j'ai corriger après j'ai vue ma fautes ... ok donc après y a t'il autre chose , il est drôlement bien ton site ! Alain
      0
  10. Alain_42 Messages postés 5413 Statut Membre 904
     
    c'est pas mon site

    est ce que ça marche ?

    si tu veux mettre un chti message de confirmation:
    $effacer=unlink("../Vos-Fichiers-Uplode/$fichier_a_supprimer");
    if($effacer){
    echo "Le fichier ".$fichier_a_supprimer." a bien été supprimé !";
    }else{
    echo "Le fichier ".$fichier_a_supprimer." n'a pas pu être supprimé !";
    }
    
    0
    1. hannibal-lecter
       
      non ça ne fonctionne pas attend je fais un trucx tu me dit ci c'est bon ....
      0
    2. hannibal-lecter
       
      comme ça :

      <?php
      if(isset($_POST['supprimer']))
      {
      $fichier_a_supprimer=$_POST['liste_fichiers'];
      unlink("../Vos-Fichiers-Uploder/$fichier_a_supprimer"); // unlink la fonction suppression
      // $fichier désigne quel fichier supprimer
      }
      if($effacer)
      {
      echo "Le fichier ".$fichier_a_supprimer." a bien été supprimé !";
      }
      else
      {
      echo "Le fichier ".$fichier_a_supprimer." n'a pas pu être supprimé !";
      }
      ?>




      ou comme ça


      <?php
      if(isset($_POST['supprimer']))
      if($effacer)
      {
      echo "Le fichier ".$fichier_a_supprimer." a bien été supprimé !";
      }
      else
      {
      echo "Le fichier ".$fichier_a_supprimer." n'a pas pu être supprimé !";
      }
      {
      $fichier_a_supprimer=$_POST['liste_fichiers'];
      unlink("../Vos-Fichiers-Uploder/$fichier_a_supprimer"); // unlink la fonction suppression
      // $fichier désigne quel fichier supprimer
      }
      ?>

      Je suppose que les messages sont toujours a mettre après la fonction ?
      0
  11. Alain_42 Messages postés 5413 Statut Membre 904
     
    essayes comme ça et dis si il y des messages d'erreur ou autre

    $fichier_a_supprimer=$_POST['liste_fichiers'];
    if( file_exists ( "../Vos-Fichiers-Uplode/$fichier_a_supprimer")){
    	$effacer=unlink("../Vos-Fichiers-Uplode/$fichier_a_supprimer");
    	if($effacer){
    		echo "Le fichier ".$fichier_a_supprimer." a bien été supprimé !";
    	}else{
    		echo "Le fichier ".$fichier_a_supprimer." n'a pas pu être supprimé !";
    	}
    }else{
    	echo "Fichier ".$fichier_a_supprimer." non trouvé !!";
    }
    0
    1. hannibal-lecter
       
      quand j'ouvre la page il me mais le message suivant :
      Fichier non trouvé !!
      puis quand je sélectionne un fichier a supprimer voilà ce qui me mais après avoir cliquer sur supprimer :
      Fichier logodepannage1.jpg non trouvé !!

      je reguarde le ftp et le fichier est toujours là
      0
    2. hannibal-lecter
       
      ça a marcher par contre quand je lance la page j'ai toujour un message mais la il a changer , j'ai enlever ça ../ ( le chemin relatif) pour maittre seulement ça

      unlink("Vos-Fichiers-Uplode/$fichier_a_supprimer");


      donc la quand je lance la page il m'affiche ça :
      Le fichier n'a pas pu ??tre supprim?? !

      au lancement , après quand je sélection dans la liste et que je clique sur supprimer ça fonctionne le fichier est supprimer avec le message votre fichier a été supprimer ( cette partie fonctionne)
      0
  12. Alain_42 Messages postés 5413 Statut Membre 904
     
    comme cela ça devrait supprimer le premier message à l'ouverture de la page
    <?php 
    
    if(isset($_POST['supprimer'])){  
     // Le bouton supprimer a été cliqué  
     $fichier_a_supprimer=$_POST['liste_fichiers']; 
     if( file_exists ( "Vos-Fichiers-Uplode/$fichier_a_supprimer")){ 
      $effacer=unlink("Vos-Fichiers-Uplode/$fichier_a_supprimer"); 
      if($effacer){ 
       echo "Le fichier ".$fichier_a_supprimer." a bien été supprimé !"; 
      }else{ 
       echo "Le fichier ".$fichier_a_supprimer." n'a pas pu être supprimé !"; 
      } 
     }else{ 
      echo "Fichier ".$fichier_a_supprimer." non trouvé !!"; 
     } 
    } 
    
    ?>


    ensuite le chemin relatif n'était pas bon
    0
    1. hannibal-lecter
       
      oui faillais enlever les ../ puisque c'est dans le même dossier , je te remercie de ton temps perdu avec moi réellement , ça a mis du temps mais au moins voila j'ai finie mon projets
      0
    2. hannibal-lecter
       
      du coup je mais a disposition le code pour d'autre personne :

      
      // paramètre du bouton supprimer
      <?php 
      if(isset($_POST['supprimer'])){  
       // Le bouton supprimer a été cliqué  
       $fichier_a_supprimer=$_POST['liste_fichiers']; 
       if( file_exists ( "Vos-Fichiers-Uploder/$fichier_a_supprimer")){    
        $effacer=unlink("Vos-Fichiers-Uploder/$fichier_a_supprimer");  // paramètre de suppression
        if($effacer){ 
         echo "Le fichier ".$fichier_a_supprimer." Suppression OK !"; 
        }
        else
        { 
        echo "Le fichier ".$fichier_a_supprimer." Pas de Suppression error !"; 
        } 
        }
        else
        { 
        echo "Fichier ".$fichier_a_supprimer." Non lister !!"; 
       } 
      } 
      ?>
      // fin des paramètres du bouton supprimer
      
      // Forumulaire
      <form action='' method='post' name='Form'> 
      <table width='100%' border='0' cellspacing='1' cellpadding='1'> 
      <label>Fichier</label> :  <select name="liste_fichiers"> 
      
      // paramètre listing de votre menue déroulant
      <?php 
      $dirname = 'Vos-Fichiers-Uploder';  // indique le nom des fichier
      $dir = opendir($dirname);         // ouverture du dossier a lister dans votre zone de texte
      
      $array_liste_fichiers=array(); 
      while($file = readdir($dir)) { 
      if($file != '.' && $file != '..' && !is_dir($dirname.$file)) 
      { 
      $array_liste_fichiers[]=$file; 
      } 
      } 
      closedir($dir); 
      
      for($i=0;$i<sizeof($array_liste_fichiers);$i++){ 
      echo '<option value="'.$array_liste_fichiers[$i].'">'.$array_liste_fichiers[$i].'</option>'; 
      } 
      
      ?>
      // Fin paramètre listing de votre menue déroulant
      
      
      <input type="submit" name="supprimer" value="Supprimer" >
      </table> 
      </form>
      // Fin du formualire
      
      0