Comment mettre a la ligne un resultat en php

Fermé
hannibal-lecter - 19 août 2012 à 18:51
 hannibal-lecter - 20 août 2012 à 18:24
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

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
19 août 2012 à 19:29
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
<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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
19 août 2012 à 22:16
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
hannibal-lecter
20 août 2012 à 09:54
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 août 2012 à 12:32
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 août 2012 à 14:07
fais voir ton script de suppression
0
hannibal-lecter
20 août 2012 à 14:31
c'est le tien que tu ma mis en haut, je les tester il ne fonctionne pas
0
hannibal-lecter
20 août 2012 à 14:42
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 août 2012 à 15:01
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
hannibal-lecter
20 août 2012 à 15:23
ok donc quel code exactement ?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 août 2012 à 16:49
0
hannibal-lecter
20 août 2012 à 16:53
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 20/08/2012 à 17:03
NON

$fichier_a_supprimer=$_POST['liste_fichiers'];  
unlink("../Vos-Fichiers-Uplode/$fichier_a_supprimer");   // unlink la fonction suppression  
0
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 août 2012 à 17:17
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
non ça ne fonctionne pas attend je fais un trucx tu me dit ci c'est bon ....
0
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 août 2012 à 17:29
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
hannibal-lecter
20 août 2012 à 17:38
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
hannibal-lecter
20 août 2012 à 17:50
ç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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 20/08/2012 à 17:46
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
hannibal-lecter
20 août 2012 à 17:55
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
hannibal-lecter
20 août 2012 à 18:24
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