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 :

image ,upload, renommer , fichier.txt. votre avis ^^


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 216
    Par défaut image ,upload, renommer , fichier.txt. votre avis ^^
    je poste pour avoir un avis de votre part ^^
    voila j'ai ce formulaire,

    Nom : formulaire.jpg
Affichages : 140
Taille : 84,4 Ko
    je veux récupérer toutes les info du formulaire et les envoyer sur un fichier.txt
    je ne savais pas vraiment comment faire pour l'image.
    alors j'ai eu une idee.
    j'aimerais donc avoir votre avis et vos conseils si vous voyer des conneries :p

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    <!-- debut du menu -->
     
    <?php
    include('menu.php');
    ?>
    <!-- fin du menu -->
     
    <!-- debut du menu -->
     
    <!-- Déclaration du type de document -->
    <!DOCTYPE HTML>
    <html>
    	<head>
    		<title>Inscription_user</title>
    		<link rel="stylesheet" type="text/css" href="../../CSS/style_base.css" />
     
    	</head>
    	<body>
    		<div id="fond">
     
     
     
    			<div id="contenu">
    				<table>
     
    					<!-- debut du contenu de la partie sombre -->
     
     
    					<?php
     
    	$dossier = '../photo/';
    	$fichier = basename($_FILES['avatar']['name']);
    	$taille_maxi = 100000;
    	$taille = filesize($_FILES['avatar']['tmp_name']);
    	$extensions = array('.png', '.gif', '.jpg', '.jpeg');
    	$extension = strrchr($_FILES['avatar']['name'], '.'); 
     
    //Début des vérifications de sécurité...
    	if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    		{
         			$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    		}
     
    	if($taille>$taille_maxi)
    		{
         			$erreur = 'Le fichier est trop gros...';
    		}
     
    	if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    		{
         //On formate le nom du fichier ici...
         		$fichier = strtr($fichier, 
              	'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              	'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    		$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     
         		if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         		{
     
    			echo 'Le fichier ' . $_FILES['avatar']['name'] . ' a été téléchargé avec succès';
     
         		}
         		else //Sinon (la fonction renvoie FALSE).
         		{
              		echo 'Echec de l\'upload !';
         		}
    		}
    	else
    		{
         			echo $erreur;
    		}
     
    	//on renomme l'image
    	$nom_image= $dossier.$fichier.$extension;					
     
    						if (!empty($_POST['nom_du_jeu']) && !empty($_POST['date_sortie']) && !empty($_POST['choix'])&& !empty($_POST['prix'])&& !empty($_POST['quantite'])&& !empty($_POST['os'])&& !empty($_POST['genre'])) 
    						{
     
    							$nom= $_POST['nom_du_jeu'];
    							$date_sortie= $_POST['date_sortie'];
    							$choix=$_POST['choix'];
    							$quantite=$_POST['quantite'];
    							$prix=$_POST['prix'];
    							$os= implode('|', $_POST['os']);
    							$genre= implode('|', $_POST['genre']);
     
    							$tblOS = array('DS','jeux_enfant','PC','produit_deriver','ps_vita','ps3','ps4','retro_gaming','wii','wiiU','xbox360','xboxONE');
    							foreach ($os as $value) 
    								{
    									if(in_array($value, $tblOS))    
    										{
    											file_put_contents("../../TXT/" . $value . ".txt", $nom  .'|'. $date_sortie .'|'. $nom_image .'|'. $choix .'|'.$prix.'|'. $quantite .'|'. "\r\n" ,FILE_APPEND);
    										}            
    								}
     
     
    							$tblgenre = array('jeux_d_aventures','jeux_de_combats','jeux_de_courses','jeux_de_platformes','jeux_de_sports','jeux_FPS','jeux_RPG','jeux_d_action');
    							foreach ($tblgenre as $value) 
    								{
    									if(in_array($value, $tblOS))    
    										{
    											file_put_contents("../../TXT/" . $value . ".txt", $nom  .'|'. $date_sortie .'|'. $nom_image .'|'. $choix .'|'. $prix.'|'.$quantite .'|'. "\r\n" ,FILE_APPEND);
    										}								
    								}  
     
    								echo '		<TABLE BORDER="0" width= 80% align="center">
    
    								<tbody>
    									<tr align="center" width="1300">
    										<td colspan="2" >
    										<div id="inscription_validation">
    										Votre inscription est validée !</div></br>
    										<input type="button" name="Accueil" value="Accueil" onClick="javascript:document.location.href=\'inscrip_jeux.php\'"/>
    										</td>
    									</tr>';
    						}
    						else
    						{
    							echo '		
    								<TABLE BORDER="0" width= 80% align="center">
    
    									<tbody>
    										<tr align="center" width="1300">
    											<td colspan="2" >
    
    												<div>
    													Problème</br>
    												</div>
    												<input type="button" name="Accueil" value="Accueil" onClick="javascript:document.location.href=\'acceuil.php\'"/>
    											</td>
    										</tr>
    								';
    						}
     
    					?>
    				</table>
    				<!-- fin du contenu de la partie sombre -->
     
    			</div>
    		</div>
     
     
     
    	</body>
    </html>
    <!-- debut du footer -->
     
    <?php
    include('footer.php');
    ?>
     
    <!-- fin du footer -->

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Tu veux quoi comme conseil ?

    On pourrait te dire que tu devrais en faire une fonction ou une classe pour mieux réutiliser ton code, au mieux d'utiliser une librairie existante.
    Ton code fonctionne? bien? à toi de l'améliorer pour l'alléger ou pas.
    Essaye de ne pas mélanger majuscule/minuscule dans tes balise HTML (mets des minuscules partout).

    Eviter de mettre du html au travers d'un echo.

    Si tu es dans une vue, il est plus propre de faire des conditions avec ':'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    <?php if(taCondition) : ?>
     
    Le code html par exemple
     
    <?php endif; ?>

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 216
    Par défaut
    pour ta question la plus importante, non il ne fonctionne pas .


    Le fichier a été téléchargé avec succès
    Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\projet-web-dynamique\PHP\site_connexion_admin\ajout\inscription_jeux.php on line 88

    Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\projet-web-dynamique\PHP\site_connexion_admin\ajout\inscription_jeux.php on line 98
    Votre inscription est validée !

    Accueil
    j'ai ce message.
    donc j ai mon image charger mais par contre rien de rien dans mon fichier txt et je comprend pas ce message d 'erreur, meme après avoir chercher sur le net

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ erreur ligne 88
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $os= implode('|', $_POST['os']);
    Donc, $os est une chaine, pas un array.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     foreach ($os as $value)
    Par conséquent, cette ligne (88) renvoie une erreur "invalide argument pour foreach()".
    Il suffit de remplacer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach ($_POST['os'] as $value)
    2/ erreur ligne 98
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $tblgenre = array('jeux_d_aventures','jeux_de_combats','jeux_de_courses','jeux_de_platformes','jeux_de_sports','jeux_FPS','jeux_RPG','jeux_d_action');
     foreach ($tblgenre as $value)
    $tblgenre est bien un array.

    Quoi que... à mon avis, c'est plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     $tblgenre = array('jeux_d_aventures','jeux_de_combats','jeux_de_courses','jeux_de_platformes','jeux_de_sports','jeux_FPS','jeux_RPG','jeux_d_action');
     foreach ($_POST['genre'] as $value) 
     {
         if(in_array($value, $tblgenre))

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 216
    Par défaut

    tu es un pro ^^ ca fonctionne nikel merci a toi

    je profite d’ailleurs de ton savoir inépuisable :p ( moi faire un peu de lèche ???? nonnnnnnnnnnn :p )

    tu pourras peut être me dire pourquoi quand je tente d'afficher le contenu du fichier cela ne donne rien

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <?php
    // Récupération des informations du fichierjeux_FPS).
    $data = array();                        
    // Tableau qui contiendra les données de façon structurée.
    $fileHandle = fopen("../../../txt/jeux_FPS.txt", "r+");  
     // Ouverture du fichier "jeux_FPS.txt"
    if ($fileHandle) {
        while (($buffer = fgets($fileHandle, 4096)) !== false) {    
    	// Lecture des lignes du fichier, une par une.
            list($nom,$date_sortie , $nom_image , $choix , $prix ,$quantite ) = explode('|', $buffer);    
    		// Séparation des données de la ligne en cours en fonction du caractère "|".
            $data = array('image'=>$nom_image, 'nom_du_jeu' => $nom,'date_sortie' => $date_sortie, 'nbr de joueurs' => $choix,'prix' => $prix, 'quant_dispo' =>$quantite);  // Ajout d'un tableau dans notre tableau de données contenant le joueur et les prenom_du_jeu.
        }
        fclose($fileHandle);                    
    	// fermeture du fichier
    }
    ?>
     
     
    <table width="100%">
    <tbody><tr align="center">
    <td valign="top"><table style="border-collapse: collapse;" border="1" bordercolor="#CCCCCC" cellpadding="0" cellspacing="0" width="100%">
    <tbody><tr style="height: 16px" align="center"><td colspan="11" bgcolor="#ffcc99"><div align="center"><span class="font_pbr"></span></div></td></tr>
    <tr style="height: 16px" align="center">
    <td bgcolor="#cccccc"><font class="font_p" color="#5d8eb3"><b>#</b></font></td>
    <td bgcolor="#cccccc"><font class="font_p" color="#5d8eb3"><b>image</b></font></td>
    <td bgcolor="#cccccc"><font class="font_p" color="#5d8eb3"><b>nom_du_jeu</b></font></td>
    <td bgcolor="#cccccc"><font class="font_p" color="#5d8eb3"><b>date_sortie</b></font></td>
    <td bgcolor="#cccccc"><font class="font_p" color="#5d8eb3"><b>nbr de joueurs</b></font></td>
    <td bgcolor="#cccccc"><font class="font_p" color="#5d8eb3"><b>prix</b></font></td>
    <td bgcolor="#cccccc"><font class="font_p" color="#5d8eb3"><b>quant dispo</b></font></td>
     
     
    </tr>
     
    <?php
     
     
     $nb_elements = count($data);
     $nb_lignes= $nb_elements;
     
    for ($i = 1; $i <= $nb_lignes; $i ++) {  // On veut afficher 
    $position = $i;         // Définition de la position à afficher
     
    ?>
    <tr style="height: 16px" align="center" bgcolor="#dddddd">
        <td><?php echo $position; ?></td>
        <td><?php echo isset($data[$i]['image']) ? "<img src=\" ".$data[$i]['image']."\">" : ''; ?></td>	
        <td><?php echo isset($data[$i]['nom_du_jeu']) ? $data[$i]['nom_du_jeu'] : ''; ?></td>
        <td><?php echo isset($data[$i]['date_sortie']) ? $data[$i]['date_sortie'] : ''; ?></td>
    	<td><?php echo isset($data[$i]['nbr de joueurs']) ? $data[$i]['nbr de joueurs'] : ''; ?></td>
    	<td><?php echo isset($data[$i]['prix']) ? $data[$i]['prix'] : ''; ?></td>
    	<td><?php echo isset($data[$i]['quant_dipo']) ? $data[$i]['quant_dipo'] : ''; ?></td>
     
    </tr>
     
    <?php
    } // Fin de la boucle for
    ?>
    Nom : tableau.jpg
Affichages : 134
Taille : 31,8 Ko


    ça c est le fichier que j ouvre
    skyrim|2016-04-05|../photo/menu1.jpg|1|18|1|
    et pour que le nombre de ligne du tableau soit = au nombre de ligne et non au nombre de mots ^^" je doit rajouter "/n" a la fin de ma ligne dans le fichier d inscription et faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nombre_ligne_fichier = substr_count( $fichier, "\n" );
    non ?

    et ajouter

    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
    25
    26
    27
     $nb_elements = count($data);
     $nb_lignes= $nb_elements;
     $nombre_ligne_fichier = substr_count( $fichier, "\n" );
     for ($j = 1; $j <= $nombre_ligne_fichier; $j ++) 
    	{  // On veut afficher 
    		$position = $j; 
    		for ($i = 1; $i <= 6; $i ++) 
    			{  // On veut afficher 
    			// Définition de la position à afficher
     
    				?>
    				<tr style="height: 16px" align="center" bgcolor="#dddddd">
    					<td><?php echo $position; ?></td>
    					<td><?php echo isset($data[$j]['image']) ? "<img src=\" ".$data[$j]['image']."\">" : ''; ?></td>	
    					<td><?php echo isset($data[$j]['nom_du_jeu']) ? $data[$j]['nom_du_jeu'] : ''; ?></td>
    					<td><?php echo isset($data[$j]['date_sortie']) ? $data[$j]['date_sortie'] : ''; ?></td>
    					<td><?php echo isset($data[$j]['nbr de joueurs']) ? $data[$j]['nbr de joueurs'] : ''; ?></td>
    					<td><?php echo isset($data[$j]['prix']) ? $data[$j]['prix'] : ''; ?></td>
    					<td><?php echo isset($data[$j]['quant_dipo']) ? $data[$j]['quant_dipo'] : ''; ?></td>
     
    				</tr>
     
    				<?php
    				} // Fin de la boucle for
     
    		}
    	?>
    non ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Non.

    1/ Remplace (ligne 12) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
            $data = array('image'=>$nom_image, ...............);
    par :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
            $data[] = array('image'=>$nom_image, ...............);
    2/ On peut en améliorer la LECTURE avec une BONNE INDENTATION :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            // Ajout d'un tableau dans notre tableau de données contenant le joueur et les prenom_du_jeu.
            $data[] = array(
               'image' => $nom_image, 
               'nom_du_jeu' => $nom,
               'date_sortie' => $date_sortie, 
               'nbr de joueurs' => $choix,
               'prix' => $prix, 
               'quant_dispo' =>$quantite
               );
    3/ il faut ABSOLUMENT que tu apprennes le B-A-BA du DEBOGAGE => AFFICHER les variables pour VERIFIER ce qu'elles contiennent


    4/ Il faut aussi ABSOLUMENT que tu apprennes LES BASES du HTML, pour STRUCTURER correctment le code :


    N.B. J'ai mis 2 liens. Ce n'est pas pour faire joli : IL FAUT QUE TU LISES LES TUTOS.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td bgcolor="#cccccc"><font class="font_p" color="#5d8eb3"><b>#</b></font></td>
    Tu as trouvé ce code dans les années 80 ???
    1880...
    Dernière modification par Invité ; 11/04/2016 à 16h20.

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 216
    Par défaut
    lol non je l est trouver dans mes cours de fac mdr ^^"
    et merci pour les liens, je regarderais cela attentivement
    merci également cela fonctionne parfaitement

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par joe0703 Voir le message
    ...dans mes cours de fac...
    C'est bien ce que je disais : les années 80...

  9. #9
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 216
    Par défaut
    a bah ca les prof sont vieux jeux hein ^^"
    et en plus comme tu a du le remarquer mdr, ils ne nous donnent aucune aide
    et trois tonne de taff mdr
    donc on doit faire au mieux avec les truc qui nous fournissent
    et autant que possible le net.
    c'est d’ailleurs pour cela que mes code sont souvent en bordel mdr.
    je fait avec ce que je trouve sur le net et bcp de déduction et d'imagination mdr .
    et bon vu que je ne code que depuis septembre ^^" je n'est pas un grand passif derrière moi :p

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. image et les fichier.txt
    Par abdobergach dans le forum MATLAB
    Réponses: 8
    Dernier message: 30/04/2011, 21h06
  2. Réponses: 15
    Dernier message: 07/06/2009, 05h22
  3. Ajouter des images dans un fichier.txt
    Par duaru157 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 18/01/2009, 16h35
  4. Réponses: 11
    Dernier message: 02/06/2008, 22h07
  5. Réponses: 5
    Dernier message: 12/02/2008, 16h15

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