Pb d'upload (is_uploaded_file)

Résolu
ludovicanceaux
Messages postés
440
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
6 mai 2010
- 14 févr. 2008 à 11:20
vincentdjedj
Messages postés
2
Date d'inscription
jeudi 29 décembre 2005
Statut
Membre
Dernière intervention
7 juillet 2008
- 7 juil. 2008 à 08:17
Salut à tous,

J'ai un petit problème avec cette ....... de fonction, en fait j'utilise un script d'upload que je maitrise maintenant parfaitement (super simple à utiliser) SWFUpload (http://swfupload.org), pe etre que certains connaissent, donc le script marche parfaitemement, ce qui marche pas c'est le résultat, que retourne ma page PHP, j'ai mon code:

if(!isset($_FILES["Filedata"]) || !is_uploaded_file($_FILES["Filedata"]["tmp_name"]) || $_FILES["Filedata"]["error"] != 0){
            header("HTTP/1.1 500 File Upload Error");
            if(isset($_FILES["Filedata"])){
                echo $_FILES["Filedata"]["error"];
            }
            exit(0);
        }
       
        $content_dir='../../upload/';
        $tmp_file=$_FILES["Filedata"]['tmp_name'];
        $name_file=$_FILES["Filedata"]["name"];
       
        $tableau=explode(".",$_FILES["Filedata"]["name"]);
        $fichier_rename=time().'_'.rand(1,1000).'.'.$tableau[count($tableau)-1];
       
        if(!move_uploaded_file($tmp_file, $content_dir.$fichier_rename)){
            header("HTTP/1.1 501 File Upload Error");
            echo $_FILES["Filedata"]["error"];
            exit(0);
        }

et ca me retourne une erreur 500, donc il bloc à la fonction (is_uploaded_file), mais pk???? je suis en serveur linux mutualisé chez 1&1, si j'en crois phpinfo, j'ai le droit à  20M d'upload (upload_max_filesize : 20M), et le fichier c'est un PDF de 14Mo, j'ai essayé avec un .DOC de 32Ko et ca marche!!!!

si quelqu'un a une idée?????

Merci d'avance

P.S.: J'ai essayé de placer un HTACCESS pour limiter à 100Mo, mais le serveur  m'a fait une erreur direct, enfin je ne comprend pô

17 réponses

ludovicanceaux
Messages postés
440
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
6 mai 2010

15 févr. 2008 à 10:10
slt, j'ai effectivement écrit à 1 & 1 hier soir, et il s'avère qu'ils viennent de me répondre:

Bonjour Madame, Monsieur,

Nous vous informons que vous devez mettre ce fichier php.ini dans tous
les dossiers ou votre script doit faire appel.

Cordialement,
Olivier
Votre équipe 1&1 France

PHP.ini que j'ai mis:
post_max_size = 40M
upload_max_filesize = 40M
memory_limit = 128M
max_execution_time = 128

ET EFFECTIVEMENT CA MARCHE C'EST TROP DE LA BALLE, je viens d'uploader un fichier de 14Mo ss difficulter, merci de t'être interresser à mon problème!!!!
3
Evangun
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
14 févr. 2008 à 14:21
Salut,
il n'y aurait pas une autre variable du php.ini qui t'en empêcherait, genre memory_limit ?
à+
0
ludovicanceaux
Messages postés
440
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
6 mai 2010

14 févr. 2008 à 17:25
Bah nan, je ne pense pas, car j'ai modifié quelque truc justement en placant un fichier php.ini à la racine, et c'est encore mieux qu'un HTACCESS.

Je me suis mis en valeur:
memory_limit = 128M
upload_max_filesize = 40M
post_max_size = 40M

Alors je me suis demandé si ce n'est pas la valeur "max_execution_time" qui est actuellement sur 30 comme sur tous les serveurs, mais je n'ai pas testé....
0
ludovicanceaux
Messages postés
440
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
6 mai 2010

14 févr. 2008 à 18:01
J'ai testé en mettant 128, toujours rien, de toute facon j'ai deux options, soit j'essaye de joindre 1&1 ou bien je bloque mon script à 10Mo, Est ce que mon code vous parait t'il correct, peut etre il y a une erreur que j'ai pas vu, mais c bizarre car en local ca marche parfaitement, il ne marche plus sitot k'il passe sur 1 & 1 
0

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

Posez votre question
Evangun
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
14 févr. 2008 à 20:33
un php.ini à la racine ? c'est comme ça que tu configures ton serveur ?
tu dis vouloir changer la config du serveur, mais t'es bien sur un dédié ?
0
ludovicanceaux
Messages postés
440
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
6 mai 2010

14 févr. 2008 à 20:45
Ah nan, je t'assure j'ai bien un serveur mutualisé, j'ai le forfait 
Pack Pro Standard linux!!!! il n'y avais pas de fichier .ini à la base, mais j'ai vu sur des forums qu'on pouvait en rajouter pour modifier la config, c'est ce ke j'ai fait et kan j'ai regardé phpinfo, tout etait comme je lui ai dis "http://www.starfamousdrink.com/phpinfo.php" je peux pas te dire sur kel forum j'ai vu ca, j'en ai vu tellement, mais en tout cas ca marche sur un serveur mutualisé!!!!!
0
Evangun
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
14 févr. 2008 à 21:47
Eh bien je ne connaissais pas. Perso je vois pas, effectivement vois peut-être avec 1&1 en espérant qu'ils te répondront.
à+
0
vincentdjedj
Messages postés
2
Date d'inscription
jeudi 29 décembre 2005
Statut
Membre
Dernière intervention
7 juillet 2008

16 mars 2008 à 12:10
J'avais moi aussi un problème pour configurer SWFupload.
Avec les conseils de Ludovic j'ai finalement réussi, voici mes conseils pour installer cette appli très bien faite sur votre site :

1 - Télécharger la dernière version de SWFupload à cette adresse : http://code.google.com/p/swfupload/

2 - Décompresser, choisir la démo à installer et réorganiser les dossiers comme vous voulez.

3 - Dans le fichier index.php, changer les chemins d'inculusion des scripts dans la head pour qu'ils correspondent à l'organisation des fichiers que vous avez déterminé.
Le script fonctionne mieux avec flash avec des chemins absolus (et non relatifs comme dans le script de base), donc toujours dans le fichier index.php, changer les lignes 16 et 17 pour qu'elles contiennent des adresses url complètes, exemple pour la ligne : "http://www.votredomaine/dossierdel'upload/swfupload/swfupload_f9.swf"

5 - Remplacer le fichier upload.php du dossier de la démo choisie par le script utilisé par Ludovic en haut de ce topic (en ajoutant les balises d'ouverture et de fermeture du php, bien sur). Dans ce même fichier, à la ligne 10 ($content_dir) indiquez le dossier choisi pour recevoir les uploads.

6 - Modifier les authorisations du dossier choisi pour recevoir les uploads, pour cela utilisez voter logiciel FTP et appliquez le CHMOD 777 au dossier.

7 - Modifier les paramètre de php pour éditer la taille des fichiers que vous pouvez upload. Pour ceci, créez un fichier nommé php.ini avec le blocnotes contenant les parametres voulus (ex : voir le post juste au dessus), et le placer à l'endroit ou se trouve le fichier upload.php.

Après ce parcours du combattant (pour les noobs comme moi), normalement ça marche.
Moi perso ça ne marchait pas avec le flash 9, mais nickel avec le flash 8, probablement du à ma version debug de flashplayer 9, surmenent un peu merdique. Enfin bon, l'essentiel c'est que ça marche. Bon courage aux noobs qui veulent l'installer, et dites vous que c'est possible   :-).
0
mdall
Messages postés
3
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
11 décembre 2010

17 mai 2008 à 10:04
Merci ça m'a bien servi ...
Par contre j'ai du mettre aussi le flash 8 ...
0
cs_piep14
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Statut
Membre
Dernière intervention
13 mai 2011

5 juil. 2008 à 18:42
Bonsoir,

pour ma part, je n'arrive pas à définir où les photos uploadées se sauvegardent.

Merci de votre aide

http://www.justacote.com
0
ludovicanceaux
Messages postés
440
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
6 mai 2010

6 juil. 2008 à 11:59
bah tu le défini ds ton fichier upload.php. et il faut que tu le définisse par rapport à ce fichier, ex: si ton fichier se trouve dans un dossier upload et que tu veuille sauvegarder à la racine, il faut marquer ../mon fichier.jpg
0
cs_piep14
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Statut
Membre
Dernière intervention
13 mai 2011

6 juil. 2008 à 12:33
J'ai regardé dans ce fichier mais je ne vois pas ou faire la modification :S

http://www.justacote.com
0
ludovicanceaux
Messages postés
440
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
6 mai 2010

6 juil. 2008 à 15:01
si tu l'a téléchargé sur le site de celui qui l'a fai, c normal que tu ne le trouve pas, car il n'upload pas
si tu veux qu'il uploade, il faut mettre un truc du genre,

if(
isset(
$
_FILES
[
'
avatar
'
]
))
{
$
dossier
=
'
upload/
'
;

    
$
fichier
=

basename(
$
_FILES
[
'
avatar
'
]
[
'
name
'
]
)
;

    
 if 
(
move_uploaded_file(
$
_FILES
[
'
avatar
'
]
[
'
tmp_name
'
]
,
$
dossier
.
$
fichier
))
//
Si
la
fonction
renvoie
TRUE,
c'est
que
ça
a
fonctionné...

    
{

         
echo
'
Upload
effectué
avec
succès
!
'
;

    
}

    
 else 
//
Sinon
(la
fonction
renvoie
FALSE).

    
{

         
echo
'
Echec
de
l\'upload
!
'
;

    
}

}


regarde ce tuto: http://antoine-herault.developpez.com/tutoriels/php/upload/
0
cs_piep14
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Statut
Membre
Dernière intervention
13 mai 2011

6 juil. 2008 à 22:18
Tu sais si je pourrais le trouver quelques part tout fait ?

Ah moins que tu en connaisse d'autre ?

Merci

http://www.justacote.com
0
ludovicanceaux
Messages postés
440
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
6 mai 2010

7 juil. 2008 à 00:22
tu auras nul part, quelque chose de tous fait. les truc sont fait de type démonstration, en fait ca montre SANS uploader!!!!!!!!!!!!
 suis le tuto ke je t'ai montreer et c bon!!!!!!!!!
0
cs_piep14
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Statut
Membre
Dernière intervention
13 mai 2011

7 juil. 2008 à 07:29
En fait, j'ai déjà un trucs d'upload que j'ai fait, mais quand je le met a l'intérieurn il me fait une alert 500

http://www.justacote.com
0
vincentdjedj
Messages postés
2
Date d'inscription
jeudi 29 décembre 2005
Statut
Membre
Dernière intervention
7 juillet 2008

7 juil. 2008 à 08:17
    As tu vérifié les droits d'utilisateur du dossier vers lequel tu uploads ?
Il doit etre en CHMOD 777 si je me souviens bien.
--> http://www.phpcs.com/tutorial.aspx?ID=250
0