Pb d'upload (is_uploaded_file) [Résolu]

ludovicanceaux 441 Messages postés mardi 21 octobre 2003Date d'inscription 6 mai 2010 Dernière intervention - 14 févr. 2008 à 11:20 - Dernière réponse : vincentdjedj 2 Messages postés jeudi 29 décembre 2005Date d'inscription 7 juillet 2008 Dernière intervention
- 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ô
Afficher la suite 

17 réponses

Répondre au sujet
ludovicanceaux 441 Messages postés mardi 21 octobre 2003Date d'inscription 6 mai 2010 Dernière intervention - 15 févr. 2008 à 10:10
+3
Utile
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!!!!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ludovicanceaux
Evangun 1982 Messages postés dimanche 20 février 2005Date d'inscription 24 septembre 2012 Dernière intervention - 14 févr. 2008 à 14:21
0
Utile
Salut,
il n'y aurait pas une autre variable du php.ini qui t'en empêcherait, genre memory_limit ?
à+
Commenter la réponse de Evangun
ludovicanceaux 441 Messages postés mardi 21 octobre 2003Date d'inscription 6 mai 2010 Dernière intervention - 14 févr. 2008 à 17:25
0
Utile
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é....
Commenter la réponse de ludovicanceaux
ludovicanceaux 441 Messages postés mardi 21 octobre 2003Date d'inscription 6 mai 2010 Dernière intervention - 14 févr. 2008 à 18:01
0
Utile
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 
Commenter la réponse de ludovicanceaux
Evangun 1982 Messages postés dimanche 20 février 2005Date d'inscription 24 septembre 2012 Dernière intervention - 14 févr. 2008 à 20:33
0
Utile
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é ?
Commenter la réponse de Evangun
ludovicanceaux 441 Messages postés mardi 21 octobre 2003Date d'inscription 6 mai 2010 Dernière intervention - 14 févr. 2008 à 20:45
0
Utile
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é!!!!!
Commenter la réponse de ludovicanceaux
Evangun 1982 Messages postés dimanche 20 février 2005Date d'inscription 24 septembre 2012 Dernière intervention - 14 févr. 2008 à 21:47
0
Utile
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.
à+
Commenter la réponse de Evangun
vincentdjedj 2 Messages postés jeudi 29 décembre 2005Date d'inscription 7 juillet 2008 Dernière intervention - 16 mars 2008 à 12:10
0
Utile
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   :-).
Commenter la réponse de vincentdjedj
mdall 3 Messages postés samedi 17 mars 2007Date d'inscription 11 décembre 2010 Dernière intervention - 17 mai 2008 à 10:04
0
Utile
Merci ça m'a bien servi ...
Par contre j'ai du mettre aussi le flash 8 ...
Commenter la réponse de mdall
cs_piep14 345 Messages postés lundi 15 mars 2004Date d'inscription 13 mai 2011 Dernière intervention - 5 juil. 2008 à 18:42
0
Utile
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
Commenter la réponse de cs_piep14
ludovicanceaux 441 Messages postés mardi 21 octobre 2003Date d'inscription 6 mai 2010 Dernière intervention - 6 juil. 2008 à 11:59
0
Utile
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
Commenter la réponse de ludovicanceaux
cs_piep14 345 Messages postés lundi 15 mars 2004Date d'inscription 13 mai 2011 Dernière intervention - 6 juil. 2008 à 12:33
0
Utile
J'ai regardé dans ce fichier mais je ne vois pas ou faire la modification :S

http://www.justacote.com
Commenter la réponse de cs_piep14
ludovicanceaux 441 Messages postés mardi 21 octobre 2003Date d'inscription 6 mai 2010 Dernière intervention - 6 juil. 2008 à 15:01
0
Utile
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/
Commenter la réponse de ludovicanceaux
cs_piep14 345 Messages postés lundi 15 mars 2004Date d'inscription 13 mai 2011 Dernière intervention - 6 juil. 2008 à 22:18
0
Utile
Tu sais si je pourrais le trouver quelques part tout fait ?

Ah moins que tu en connaisse d'autre ?

Merci

http://www.justacote.com
Commenter la réponse de cs_piep14
ludovicanceaux 441 Messages postés mardi 21 octobre 2003Date d'inscription 6 mai 2010 Dernière intervention - 7 juil. 2008 à 00:22
0
Utile
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!!!!!!!!!
Commenter la réponse de ludovicanceaux
cs_piep14 345 Messages postés lundi 15 mars 2004Date d'inscription 13 mai 2011 Dernière intervention - 7 juil. 2008 à 07:29
0
Utile
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
Commenter la réponse de cs_piep14
vincentdjedj 2 Messages postés jeudi 29 décembre 2005Date d'inscription 7 juillet 2008 Dernière intervention - 7 juil. 2008 à 08:17
0
Utile
    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
Commenter la réponse de vincentdjedj

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.