begin process at 2012 05 31 05:58:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Php problème insertion script d'upload d'image dans interface admin


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Php problème insertion script d'upload d'image dans interface admin

lundi 4 mai 2009 à 16:02:27 | Php problème insertion script d'upload d'image dans interface admin

veebee

Bonjour, à tous,
J'ai fait le tour des posts "upload" et "transfert d'images" sans trouver une solution à mon problème, sur lequel je planche maintenant depuis plusieurs jours.
J'ai monté une interface admin sans upload d'images, qui fonctionne.
Parallèlement, j'ai un script d'upload d'images qui fonctionne aussi séparément.
Lorsque je veux insérer l'upload dans l'interface admin l'upload d'image ne fonctionne plus.
Initialement j'avais essayé d'inserer le formulaire d'upload dans le formulaire de modif de l'interface admin, mais ça n'a pas marché du fait de l'impossibilité d'imbriquer des formulaires.
J'ai donc inséré les 2 lignes d'upload dans le formulaire de l'interface admin pour qu'il n'y ait qu'un seul formulaire, mais l'upload ne fonctionne toujours pas.
Si quelqu'un a une idée, elle est la bienvenue...

Voici le code :

<?php

// JE PASSE LA CONNEXION AU SERVEUR ET A LA BASE DE DONNEES, CA FONCTIONNE

if($_POST['fichier'] && $_FILES['fichier']['error']==0) // test des variables POST et FILES, (meme chose que is isset)
        {
        $tabinfo=pathinfo($_FILES['fichier']['name']);              // extrait les infos fichiers
        //echo 'nom_fichier : ',$tabinfo['basename'];
        // extraction base nom fichier
        $file = $tabinfo['basename'];
        $var = explode(".",$file);
        $nb = count($var)-1;
        $base_nom_fichier= substr($file, 0, strlen($file)-strlen($var[$nb])-1);
        //echo '<br/> base nom fichier : ',$base_nom_fichier;
       
        $extension=strtolower($tabinfo['extension']);         // creation variable extension pour recup element extension du pathinfo
        //echo '<br/> extension : ',$extension,'<br/>';
        $tab_extensions_autorisees=array('jpeg','jpg','png','gif'); // creation tableau avec liste extensions autorisées
        if(in_array($extension,$tab_extensions_autorisees))        // comparaison extension avec tableau
            {   
                //UPLOAD SUR LE SERVEUR
                if( ftp_put($connexion,'/www/mon_site.com/images/'.$_FILES['fichier']['name'],$_FILES['fichier']['tmp_name'],FTP_BINARY))
                    {
                    $nom_fichier_transfere=$_FILES['fichier']['name'];
                    echo 'Upload effectue. Nom du fichier telecharge : ',$nom_fichier_transfere;
                    }
                else{echo 'Echec de l\'upload';}   
            }
        else
            {echo 'Ce fichier n\'est pas un fichier image';}
        }

elseif( isset($_FILES['fichier']) && $_FILES['fichier']['error']==1)
    {echo 'fichier trop gros, transfer a echoue';}
elseif( isset($_FILES['fichier']) && $_FILES['fichier']['error']==2)
    {echo 'fichier trop gros, transfer a echoue';}
elseif( isset($_FILES['fichier']) && $_FILES['fichier']['error']==3)
    {echo 'transfer partiel, svp recommencez';}
elseif( isset($_FILES['fichier']) && $_FILES['fichier']['error']==4)
    {echo 'choisissez un fichier';}

// JE VOUS PASSE LE REDIMENSIONNEMENT DE L'IMAGE, QUI FONCTIONNE AUSSI
ftp_close($connexion); // ferme la connexion ftp
}

// JE VOUS VOUS PASSE AUSSI LE CODE D'INSERTIOND DES RUBRIQUES DANS LA BASE DE DONNEES, CA FONCTIONNE AUSSI

// FORMULAIRE ECOURTE CAR BEAUCOUP DE CHAMPS
?>
                            <form enctype="multipart/form-data" id="form2" form name="form2" action="modif.php" method="post">
                            
                            <label for="titre_rubrique">TITRE PAGE : </label>
                            <input type="text" name="titre_rubrique"  id="titre_rubrique" class="reglage_input" value="<?php echo $table_rub_detail['titre_rub']?>" /><br/><br/>
                           
                            <!-- MON CHAMPS POUR UPLOADER L'IMAGE -->
                            <label for="image_rub1" class="calagelabel">Image 1 </label>
                            <input type="hidden" name="MAX_FILE_SIZE" value="20000000"/>
                            <input name="fichier" type="file"/>
                            <br/><br/>
                           
                            <label for="texte_rub1">TEXTE 1 </label>
                            <textarea name="texte_rub1" cols="97" rows="3" id="texte_rub1" class="text mce"><?php echo $table_rub_detail['texte_rub1']?></textarea><br/><br/>               
                                                     
                            <label for="texte_rub7">TEXTE 9 </label>
                            <textarea name="texte_rub9" cols="97" rows="3" id="texte_rub9" class="text mce"><?php echo $table_rub_detail['texte_rub9']?></textarea><br/><br/>
           
                            <input name="nom_page_hidden" type="hidden" id="nom_page_hidden" value="<?php echo $table_rub_detail['nom_rub']?>"/>
                            <input name="langue_hidden" type="hidden" id="langue_hidden" value="<?php echo $table_rub_detail['langue']?>"/>
                            <label for="modifier">
                            <input name="modif_page" id="modif_page" type="submit" value="modifier la page">
                            </fieldset>
                            </form>
                            <br/><br/>
                            <?php
                        }// FIN DU FORMULAIRE

lundi 4 mai 2009 à 23:23:39 | Re : Php problème insertion script d'upload d'image dans interface admin

alexflex25

 if(in_array($extension,$tab_extensions_autorisees))        // comparaison extension avec tableau
            {   
                //UPLOAD SUR LE SERVEUR
   
            if(
ftp_put($connexion,'/www/mon_site.com/images/'.$_FILES['fichier']['name'],$_FILES['fichier']['tmp_name'],FTP_BINARY))

                    {
                    $nom_fichier_transfere=$_FILES['fichier']['name'];
                    echo 'Upload effectue. Nom du fichier telecharge : ',$nom_fichier_transfere;
                    }
                else{echo 'Echec de l\'upload';}   
            }
        else
            {echo 'Ce fichier n\'est pas un fichier image';}
        }

remplace le code en rouge par ceci


move_uploaded_file($_FILES['fichier']['tmp_name'], '/var/www/fichiers/'.$_FILES['nom_du_fichier']['name'])
lundi 4 mai 2009 à 23:24:43 | Re : Php problème insertion script d'upload d'image dans interface admin

alexflex25

http://www.commentcamarche.net/faq/sujet-889-php-upload-de-fichiers
mardi 5 mai 2009 à 10:01:54 | Re : Php problème insertion script d'upload d'image dans interface admin

veebee


Bonjour et merci Alexflex25.
Je viens tout juste de trouver le bug : en fait c'était le test sur la variable de déclenchement du script d'upload qui ne passait pas ($_POST['fichier']). Ca c'est un truc qui m'épate, parce que dans certains cas ça fonctionne très bien (utiliser le nom d'un des champs du formulaire) et dans d'autres pas. Bref en changeant la ligne :
if($_POST['fichier'] && $_FILES['fichier']['error']==0),
par :
if($_POST['modif_page'] && $_FILES['fichier']['error']==0),
ça tourne !

Par contre ta suggestion m'interpelle : pourrais-tu me dire pourquoi tu préfères utiliser la fonction :
"move_uploaded_file()" plutôt que "ftp_put()"

Merci encore

Veebee

mardi 5 mai 2009 à 11:25:10 | Re : Php problème insertion script d'upload d'image dans interface admin

alexflex25

 				 						 								 										"move_uploaded_file()" --> je suis certain du fonctionnement.
"ftp_put()" --> je n'es jamais utilisé.

C'était juste une suggestionpour cibler le problème.


mardi 5 mai 2009 à 11:44:44 | Re : Php problème insertion script d'upload d'image dans interface admin

veebee


ok.
je profite de t'avoir "sous la souris" pour te solliciter encore ::
J'ai jusqu'à 9 images à uploader sur mon interface admin.
J'ai donc fait une boucle autour de mon script d'upload :
for($f=1 ; $f<=9 $f++){script d'upload;}
Dans mon script d'upload j'ai modifier tous les éléments ('fichier') en ('fichier'.$f)
et dans mon formulaire j'ai appelé mes fichiers 'fichier1' 'fichier2' etc
J'ai testé ma variable 'fichier'.$f sur l'upload de la première image, pas de problème ça fonctionne, la variable d'incrémentation est prise en charge par le script.
Sauf que dès que j'ai tenté d'uploader 2 images, 'fichier1' et 'fichier2' la 1ere est bien uploadée, mais pas la 2nde.
J'obtiens le message d'erreur suivant :
"Warning: ftp_put(): 3 is not a valid FTP Buffer resource"

Ca te dit quelque chose ?


mardi 5 mai 2009 à 13:08:14 | Re : Php problème insertion script d'upload d'image dans interface admin

alexflex25

ftp_put ( resource$ftp_stream , string$remote_file , string$local_file , int$mode [, int$startpos= 0 ] )

Pour voir d'où cela vient il faudrait afficher les paramètres que passe a la fonction ftp_put avant chaque appel. Apparemment, à un moment donnée tu passe en paramètre quelque chose comme:
ftp_put ( 3 , string$remote_file , string$local_file , int$mode [, int$startpos= 0 ] );

Le problème ce situe au niveau du premier paramètre.... Si tu ne trouve toujours pas le problème:

Affiche le contenu des variables que tu passes à la fonction ftp_put à l'ecran avant chaque appel à la fonction et colle le résultat ici.
Si tu trouve tout seul, félicitation...

mardi 5 mai 2009 à 18:35:57 | Re : Php problème insertion script d'upload d'image dans interface admin

veebee

uprès avoir vérifié tous les paramètres, qui semblaient ok, j'ai fini par ouvrir le fichier avec Notepad++ (ordinairement je me sers plutôt de Dreamweaver), et me suis aperçue qu'il y avait un problème d'accolades fermantes. J'ai corrigé en me disant que quand-même ça serait étonnant que ça soit si simple, et finalement... ça marche !
Comme quoi faut toujours aller vers la simplicité !!!
Quoi qu'il en soit merci encore de tes conseils avisés. C'est vrai que je n'avais pas pensé à vérifier les variables passées à ftp_put. C'aurait pu venir de là donc j'essaierai de garder le truc en tête pour une prochaine fois !
Merci encore.

Veebee
jeudi 17 septembre 2009 à 10:41:38 | Re : Php problème insertion script d'upload d'image dans interface admin

rafplus

hahah a vous les amis



Cette discussion est classée dans : fichier, upload, extension, echo, files


Répondre à ce message

Sujets en rapport avec ce message

Upload vide ? [ par SDK_akira ] Bonjour J'utilise un script d'upload que j'ai trouvé sur le net et qui marche très bien sur d'autre site néanmoins la bizarement le fichier uploadé Modification d'un script d upload !!! [ par k4mik4zi ] bonjour j'ai un petit probleme, j'ai mon code source pour upload une image mais le probleme est que je n'arrive pas du tout a en faire quelque chose J extension fichier [ par kenny18 ] Salut,J'ai une question très con !Dans un formualire, j'ai 2 champs type file :$i=1;echo "";$i++;echo " UPLOAD IMAGES [ par sebalex ] Salut à tous, Voilà, j'ai repris un code pour l'upload d'image sur ce forum et tout fonctionne. Le problème est que je souhaite que l'image uploadée s upload de fichiers [ par oui14 ] bonjour .J'ai creer deux petit code afin que les membres de mon site puissent uploader des images mais elles ne sont visiblement pas envoyée ( variabl Upload avec PHP - débutant [ par systemsb ] Bonjour, Je suis en train d'essayer un petit bout de code en php pour faire un Upload.J'ai monté sur mon pc sous Windows XP le serveur : IIS  (5.1)J'a problème de upload de fichier [ par theboubourse ] bonjour voila je souhaiterais uploader des fichier mais je n'y arrive pas si vous pouvez m'aider merci voici le code que j'ai et qui fonctionne lorsq uploader une image [ par ouzb ] Bonjour j'ai un probleme avec un upload voici mon code n'enregistre pas dans la base de données et le move upload ne marche pas if(isset($_FILES['logo transmettre variable entre deux fichiers php via un email ? [ par droopyv ] je suis super debutant en php,mais je commence a creer une application style mail big file.Donc j ai un formulaire en php, avec les coordonnes des per Aide Code Upload PHP [ par MaitreLgTbD ] Bonjour, C'est encore moi je sollicite votre aide, actuellement en stage mon projet sollicite un bout de code de upload tous fichiers confondu (la plu


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales