upload plusieurs fichiers images

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : upload plusieurs fichiers images

Re: upload plusieurs fichiers images

par fabrice88250 » 15 juil. 2010, 09:14

Merci AB, je vai suivre ton tuto et mettre en place ton nouveau system membres afin de pouvoir enfin passé a php5.
Merci

Re: upload plusieurs fichiers images

par AB » 12 juil. 2010, 18:03

Ben il faut persévérer... sinon tu vas finir par avoir de gros problèmes pour l'évolution de ton script si tu reste en php4.

Il y a normalement peu de choses à faire pour adapter un script php4 vers php5 :

déjà remplacer les <? par <?php ensuite s'il subsiste des problèmes voir les variables si elles sont bien définies et non pas globales... dans ce dernier cas tu devrais corriger impérativement car c'est un trou de sécurité.

Et ce script administrateur, tu l'a fait toi-même ? ... sinon tu as pris une source trop ancienne ...

Si tu veux ouvres un autre topic sur le sujet.

Pour info j'avais fait un tuto (avec code prêt à l'emploi) sur l'enregistrement et la connexion à un espace membres. C'est exactement le même principe pour un espace administrateur (excepté si tu veux gérer des droits différents suivant les admin auquel cas il faut adapter un peu). Le tuto est sur ce lien

Re: upload plusieurs fichiers images

par fabrice88250 » 12 juil. 2010, 08:49

je voudrai bien mettre a jour php mais le probleme c'est que si je passe en php5 j'ai mon script de session de ma partie admin qui ne fonctionne plus et je n'arrive pas à l'adapter vers php5.
j'avai ouvert un topic sur ce forum mais je n'avais pas reussi a resoudre le probleme

Re: upload plusieurs fichiers images

par AB » 11 juil. 2010, 23:13

Arf j'aurais du m'en douter plus tôt. La classe n'est compatible que php >= 5.2.

Faudrait que tu puisse mettre à jour vers minimum php 5.2. Sinon tu risques d'avoir pas mal de pb avec d'autres scripts qui ne seront pas compatibles, ou avec des exemples que l'on te donne qui sont maintenant tous avec php5. C'est très vieux php4...

Re: upload plusieurs fichiers images

par fabrice88250 » 11 juil. 2010, 22:45

PHP Version 4.4.9

et les toutes premieres lignes :
<?php

// DEBUT DE CLASSE v 1.32
class Telechargement {
private $index_ses = 'Verif-Up=Wxz';
private $reload_page = false;
private $extensions_autorisees = null;
private $ses_mes;
private $ses_vis;
private $ses_etat;

Re: upload plusieurs fichiers images

par AB » 11 juil. 2010, 22:43

Montre les 10 premières lignes de ta page.

Tu travailles avec quelle version de php ?

Re: upload plusieurs fichiers images

par fabrice88250 » 11 juil. 2010, 22:33

j'ai toujours la même erreur sur la ligne
private $index_ses = 'Verif-Up=Wxz';
Alors j'ai essayé de supprimé cette ligne juste pour voir et meme en la supprimant j'ai toujours le meme message d'erreur.

Re: upload plusieurs fichiers images

par AB » 11 juil. 2010, 22:29

Bon ben alors à la place de require('class_upload.php'); dans ton script tu mets le code de la classe. Par contre comme la balise d'ouverture <?php et de fermeture ?> est déjà présente dans ton script, il ne faut pas recopier ces balises qui sont dans le code de la classe.

ça donne quoi ?

Re: upload plusieurs fichiers images

par fabrice88250 » 11 juil. 2010, 21:53

Je viens de regardé et je n'ai rien d'autre du tout dans le fichier. j'avais un espace en bas de page après le ?> mais même en le supprimant j'ai toujours ce même message.
comme je comprend pas le pourquoi sa fonctionne chez toi et pas chez moi voici les 2 fichiers : lien

Re: upload plusieurs fichiers images

par AB » 11 juil. 2010, 21:29

Ah oui par rapport à mon message précédent j'ai oublié de dire au cas où, que dans le fichier class_upload.php il doit n'y avoir que le code de la classe et RIEN d'autre.

Re: upload plusieurs fichiers images

par fabrice88250 » 11 juil. 2010, 21:21

Désolé sa ne fonctionne toujours pas meme avec le nouveau code pour le forumaire.
concernant la classe c'est un copier coller et j'ai bien les balises php... Je comprend pas

Re: upload plusieurs fichiers images

par AB » 11 juil. 2010, 21:10

Normalement ce serait plutôt ceci :
<?php 

require('class_upload.php');

$repertoireDestination = 'upload';

//Déclaration de la classe
$up = new Telechargement($repertoireDestination,'form1','monfichier','controle_form');

//Extensions autorisées
$extensions = array("jpeg", "jpg");
$up->Set_Extensions_accepte ($extensions);

// en option contrôle sur les images pour vérifier que les fichiers téléchargés sont bien des images
$up->Set_Controle_dimImg();

// Choix du nom de destination (dans l'exemple ci-dessous s'appelle "ma_photo_1.jpg")
$up->Set_Nomme_fichier('ma_photo_1.jpg');

// Les fichiers suivant le premier seront incrémentés et tu auras donc pour les suivants ma_photo_2.jpg, ma_photo_3.jpg, ma_photo_4.jpg, ma_photo_5.jpg, suivi de l'extension du fichier en téléchargement.
$up->Set_Renomme_fichier('incr');

// Envoi des données et traitement de l'upload avec rechargement de la page pour éviter un multi upload en cas de rafraichissement de la page.
$up->Upload('reload');

// Récupération des messages d'information
$tab_messages = $up->Get_Tab_message();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>
<div>
<form enctype = "multipart/form-data" action = "<?php echo htmlspecialchars($_SERVER['PHP_SELF']).'?controle_form=1' ?>" method = "post">
     <p>
      <input type="hidden" name="MAX_FILE_SIZE" value="100000"  />

      <input type="file" name="monfichier[]" /><br  />
      <input type="file" name="monfichier[]" /><br  />
      <input type="file" name="monfichier[]" /><br  />
      <input type="file" name="monfichier[]" /><br  />
      <input type="file" name="monfichier[]" /><br  />

                               
<input type = "submit" name = "form1" value = "Envoyez"  />   
 </p> 
</form>

        <?php //affichage des résultats
        if (!empty($tab_messages))
                        {
                                echo '<p>';
                                        foreach ($tab_messages as $num)
                                                {
                                                        foreach ($num as $value)
                                                        echo htmlspecialchars($value).'<br />';
                                                }
                                echo '</p>';
                        }
        ?>
 
 </div>
</body>
</html>
Essaies cela mais cela ne devrait pas venir de ça. Si ça ne change rien c'est que tu as un problème dans le code de la classe que tu as recopié dans class_upload.php. Tu n'as pas oublié les balises <?php au début et ?> à la fin dans le code de la classe ?

Re: upload plusieurs fichiers images

par fabrice88250 » 11 juil. 2010, 20:10

c'est se que je pense avoir fait :
j'ai donc un fichier que j'ai appelé ab.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>


<?php require('class_upload.php');

$repertoireDestination = 'upload';

//Déclaration de la classe
$up = new Telechargement($repertoireDestination,'form1','monfichier','controle_form');

//Extensions autorisées
$extensions = array("jpeg", "jpg");
$up->Set_Extensions_accepte ($extensions);

// en option contrôle sur les images pour vérifier que les fichiers téléchargés sont bien des images
$up->Set_Controle_dimImg();

// Choix du nom de destination (dans l'exemple ci-dessous s'appelle "ma_photo_1.jpg")
$up->Set_Nomme_fichier('ma_photo_1.jpg');

// Les fichiers suivant le premier seront incrémentés et tu auras donc pour les suivants ma_photo_2.jpg, ma_photo_3.jpg, ma_photo_4.jpg, ma_photo_5.jpg, suivi de l'extension du fichier en téléchargement.
$up->Set_Renomme_fichier('incr');

// Envoi des données et traitement de l'upload avec rechargement de la page pour éviter un multi upload en cas de rafraichissement de la page.
$up->Upload('reload');

// Récupération des messages d'information
$tab_messages = $up->Get_Tab_message();
?>
<form enctype = "multipart/form-data" action = "<?php echo htmlspecialchars($_SERVER['PHP_SELF']).'?controle_form=1' ?>" method = "post">
     
      <input type="hidden" name="MAX_FILE_SIZE" value="100000"  />

      <input type="file" name="monfichier[]" /><br  />
      <input type="file" name="monfichier[]" /><br  />
      <input type="file" name="monfichier[]" /><br  />
      <input type="file" name="monfichier[]" /><br  />
      <input type="file" name="monfichier[]" /><br  />

                               
<input type = "submit" name = "form1" value = "Envoyez"  />    
</form>

        <?php //affichage des résultats
        if (!empty($tab_messages))
                        {
                                echo '<p>';
                                        foreach ($tab_messages as $num)
                                                {
                                                        foreach ($num as $value)
                                                        echo htmlspecialchars($value).'<br />';
                                                }
                                echo '</p>';
                        }
        ?>
 
 
</body>
</html>

puis un autre fichier pour la classe que j'ai donc nommé class_upload.php ou j'ai fais un cipoer coller de ta class (je peu pas la mettre ici car on me dit que j'utilise trop de caractères

Re: upload plusieurs fichiers images

par AB » 11 juil. 2010, 18:50

Bah c'est pas compliqué, sous le titre "La classe :" tu cliques sur "sélectionner" et tu copies TOUT sans exception. Et pareil pour l'exemple d'utilisation que je t'ai donné ci-dessus.

Ensuite compare le début des fichiers recopiés dans tes fichiers avec le code contenu sur ce forum, il ne devrait pas y avoir de différence (apparemment il y en a une pour l'instant puisque tu as ce message d'erreur).

Ou alors c'est quand tu intègre le script dans ton code que cela pose problème à un moment donné. Testes uniquement avec ces deux fichiers pour voir.

Re: upload plusieurs fichiers images

par fabrice88250 » 11 juil. 2010, 18:34

re,
j'ai fait un copier coller et j'ai toujours le meme erreur. dès l'ouverture du fichier qui fait appel a la classe j'ai l'erreur :
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homepages/1/d333597917/htdocs/class_upload.php on line 6
en chemin j'ai mis :
$repertoireDestination = 'upload'; sur le quel j'ai appliqué '777'

Pour info je suis sous PHP Version 4.4.9