Move_upload_files

Signaler
Messages postés
24
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
16 mai 2008
-
malalam
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Salut,

Je travaille actuellement avec move_upload_files. Par un bouton "parcourir", j'insère dans ma table "news" une image. Or elle ne s'affiche pas correctement sur la page.

Toutes les autres infos sont OK, mais les images ne montent pas. voici le code qui sauvegarde mes données image:


<?

include "../vars.php";
include "../SQLfunctions.inc";


if (isset($ajouter))
{
//copie des fichiers selectionnés (du tmp) dans les dossiers correspondant
move_uploaded_file($photo,"../images/$photo");
move_uploaded_file($bphoto,"../images/$bphoto");
}

if ( $errmsg )
{
echo $errmsg."fiche non créé.";
include "footer.php";
exit;
}

$photo=addslashes ($_POST['photo']);


SQL_connect($SQLsite, $SQLusername, $SQLpassword,__FILE__,__LINE__);

// insertion

$request="insert into news (photo) values ('$photo')";

$result = SQL($SQLBase, $request,__FILE__,__LINE__);

if (!$result)
{
echo "Une erreur est survenue. Article non créée.";
include "footer.php";
exit;
}

echo "Fiche créée! merci";

//SQL_close();
include "footer.php"

?>

=============

la page de news est composée de trois parties : header.php, loop-news.php et footer.php.

Voici le code de la page "loop-news.php" :
(à mon avis l'erreur se trouve plutôt par ici, dans la façon de charger l'image dans le dossier "images")


,
,
,

----



===============

Si l'un d'entre vous a une idee, merci d'avance.
Kler.

13 réponses

Messages postés
24
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
16 mai 2008

Bon sang l'affichage est vraiment lamentable ! Je me suis pris la tête à faire une belle mise en page et voilà le résultat ! voici le lien du fichier txt (beaucoup plus clair !!!) : http://www.agence-reseaux.com/help.html
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
20
Hello,

je suis allé voir, et je ne comprends pas bien ton problème. Quelle est l'erreur (le message d'erreur éventuel) ? Que se passe t il au juste ?
Messages postés
24
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
16 mai 2008

et bien ce qu'il se passe c'est que les images ne sont pas chargées dans le dossier "images" alors qu'elles le devraient.

move_uploaded_file($photo,"../images/$photo");

quand au message d'erreur il est :

if ( $errmsg )
{
echo $errmsg."fiche non créée";
include "footer.php";
exit;
}
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
20
Mets ton error_reporting à E_ALL, et réessaye, pour avoir le message d'erreur PHP.
Messages postés
24
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
16 mai 2008

pardon ? E_ALL ? navré mais je débute en php... les eléments que j'utilise ont été crée par l'ex-webmaster de l'agence. Et moi je ne sui pas développeur PHP à la Base. Alors j'arrive à m'en sortir mais il y'a certaines expressions spécifiques que je ne comprends ps encore. Merci de votre compréhension.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
20
Dans ta page, avant ce script d'upload, écris ceci :

error_reporting(E_ALL);

Cela te devrait te sortir les erreurs g&#233;n&#233;r&#233;es par PHP. Souvent, la configuration est -malheureusement- par d&#233;faut en 
error_reporting  (0) ou error_reporting (E_NOTICE)
ce qui d&#233;sactive peu ou prou tous les messages d'erreur, les warning, etc...g&#233;n&#233;r&#233; par php. C'est une mauvaise habitude surtout quand on code.
Si le fichier n'est pas upload&#233;, c'est probablement que php rencontre un probl&#232;me. Laissons-le s'exprimer :-) On y verra plus clair ensuite.
Messages postés
24
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
16 mai 2008

Merci, mais le problème me semble bien plus complexe que prévu... Je n'ai aucun message d'erreur. J'ajoute mes données dans la table, les textes s'insèrent correctement mais pas les images, et ma page de news récupère les données. Fiche créée ! Merci.

Seules les images ne sont pas récupérées.
Messages postés
24
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
16 mai 2008

malgré ce rapport d'erreur, aucune erreur ne s'affiche...
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
20
Le problème est que tu ne montres pas la partie upload.
Il n'y a que ça :
if (isset($ajouter))


{


//copie des fichiers selectionnés (du tmp) dans les dossiers correspondant


move_uploaded_file($photo,"../images/$photo");


move_uploaded_file($bphoto,"../images/$bphoto");


}



Or, ça ne dit pas comment est construit ton, formulaire, ni comment tu récupères $photo et $bphoto.

Montre donc cette partie : formulaire d'upload, et traitement de l'upload.
Messages postés
24
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
16 mai 2008

Voici le formulaire :
www.agence-reseaux.com/help/news_insert.txt
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
20
Et le traitement ?

Parce que tu passes par $photo. Où est le $_FILE ?
http://fr2.php.net/manual/fr/features.file-upload.php
Messages postés
24
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
16 mai 2008

Je suis vraiment largué, mais merci de se pencher sur le problème.

Je me suis penché sur $_FILES déjà, mais son insertion dans mon prolème n'entraîne ni de nouvelles erreurs ni une résolution.

La solution serait (je crois) de reprendre la prog à ma sauce, et d'utiliser les mêmes techniques de chargement d'avatars sur un forum, non?
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
20
Non,

la solution est de reprendre le code à la sauce du lien que je t'ai donné... ;-) Là, ça fonctionnera.