UpLoad...Multimania ???

kodiask Messages postés 158 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 novembre 2007 - 22 déc. 2003 à 15:52
kodiask Messages postés 158 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 novembre 2007 - 23 déc. 2003 à 13:59
voilà j'ai une question est-ce que multimania permet l'upload.
-sinon bin mon problèmes et résolu .
-si oui où se trouve l'erreur dans mon script :

if($file_name != ""){

$ftpc = @ftp_connect("ftp.membres.lycos.fr");

$cool = @ftp_login($ftpc, "login", "pass");

$cool = @ftp_put($ftpc,"images2/$file_name",$file,FTP_BINARY);
}

merci ...

7 réponses

floflotz Messages postés 240 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 6 janvier 2006
22 déc. 2003 à 16:01
je ne sais pas si multimania autorise l'upload mais peut etre qu'il n'autorise tout simplement pas les connexions ftp en php !!!
enleve le @ et tu verras l'erreur que te dis le serveur! tu peux aussi regarder la config du serveur ( ce qui est autoriser ou non en l'occurence) en mettant n'importe ou dans le code print phpinfo();

si ce que je dis correspond à ta situation, tu peux essayer d'uploader à partir d'un formulaire !

bon courage
0
kodiask Messages postés 158 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 novembre 2007
22 déc. 2003 à 16:38
jai deja essayer sans les "@"
lereur que j'ai est :

Fatal error: Call to undefined function: ftp_connect() in /data/members/free/multimania/fr/t/d/i/tditeam/htdocs/up.php on line 8

voici phpinfos :
http://membres.lycos.fr/tditeam/test.php

voilà merci...
0
kodiask Messages postés 158 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 novembre 2007
22 déc. 2003 à 16:40
en faite c un formulaire qui upload une image vers les ftp
0
floflotz Messages postés 240 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 6 janvier 2006
22 déc. 2003 à 16:48
l'erreur est claire et le phpinfo le confirme! le module ftp n'est pas chargée sur le serveur multimania donc impossible d'utiliser les fonctions faisant intervenir les fonctions ftp !

il y a une autre méthode par le formulaire mais limité à 500ko par fichier ( limite imposé par le serveur):

Chargements de fichiers par méthode POST
PHP est capable de recevoir des fichiers émis par un navigateur conforme à la norme RFC-1867 (c'est-à-dire Netscape Navigator 3 ou supérieur, Microsoft Internet Explorer 3 avec un patch de Microsoft, ou supérieur sans le patch). Cette fonctionnalité permet de charger des fichiers textes ou binaires. Avec l'authentification et les fonctions de manipulation des fichiers, vous avez un contrôle total sur le chargement et la gestion des fichiers chargés.

Notes de configuration : Voir aussi les directives file_uploads, upload_max_filesize, upload_tmp_dir et post_max_size, dans php.ini

Notez bien que PHP supporte aussi le chargement par la méthode PUT comme dans le navigateur Netscape Composer et les clients Amaya du W3C. Reportez-vous au chapitre sur le support de la méthode PUT.

Un écran de chargement de fichiers peut être constitué en créant un formulaire de la manière suivante : Exemple 18-1. Formulaire de chargement de fichier

<FORM ENCTYPE="multipart/form-data" ACTION="_URL_" METHOD="POST">

Envoyez ce fichier :

</FORM>


Le paramètre _URL_ doit pointer sur un fichier PHP. L'option MAX_FILE_SIZE cachée doit précéder le nom du fichier à charger, et représente la taille maximale du fichier à charger. La valeur est donnée en octets. Dans ce script, les valeurs suivantes doivent être définies pour assurer un chargement correct.

Avertissement
Le champ MAX_FILE_SIZE est là à titre de conseil au navigateur. Il est très facile de contourner cette restriction. Ne comptez pas sur le respect de cette configuration par le navigateur! La configuration de PHP sur la taille maximale à respecter (upload_max_filesize) ne peut être contournée, elle.


Les variables définies après un téléchargement de fichiers diffèrent beaucoup de version en version. La variable $_FILES existe depuis PHP 4.1.0. Le tableau $HTTP_POST_FILES existe depuis PHP 4.0.0. Ces tableaux contiennent toutes les données sur les fichiers téléchargés. L'utilisation de la variable $_FILES est recommandée. Si la directive PHP register_globals vaut on, les variables reliées existeront aussi. register_globals vaut par défaut off depuis PHP 4.2.0.

Le contenu du tableau $_FILES est détaillé dans notre exmple ci-dessous. Notez que l'un suppose que le nom de la variable du fichier téléchargé est userfile, tel que défini dans le formulaire ci-dessus.

$_FILES['userfile']['name']
Le nom original du fichier, tel que sur la machine du client web.

$_FILES['userfile']['type']
Le type MIME du fichier, si le navigateur a fourni cette information. Par exemple, cela pourra être "image/gif".

$_FILES['userfile']['size']
La taille, en octets, du fichier téléchargé.

$_FILES['userfile']['tmp_name']
Le nom temporaire du fichier qui sera chargé sur la machine serveur.

$_FILES['userfile']['error']
Le code d'erreur error code associaé au téléchargement de fichier. ['error'] a été introduit en PHP 4.2.0

Note : Dans les versions de PHP antérieure à la version 4.1.0, la variable $_FILES s'appelait $HTTP_POST_FILES et ce n'était pas une variable autoglobale comme l'est $_FILES. PHP 3 ne supporte pas $HTTP_POST_FILES.

Lorsque register_globals vaut on dans le php.ini, des variables supplémentaires sont rendues disponibles. Par exemple $userfile_name vaut $_FILES['userfile']['name'], $userfile_type vaut $_FILES['userfile']['type'], etc... Gardez à l'esprit que depuis PHP 4.2.0, register_globals vaut off par défaut. Il n'est pas prudent de supposer que cette directive vaut on.

Le fichier téléchargé sera stocké temporairement dans le dossier temporaire du système, à moins qu'un autre dossier soit fourni avec la directive upload_tmp_dir du php.ini. Le dossier par défaut du serveur peut être changé dans l'environnement via la variable TMPDIR. Modifier la valeur de cette variable avec la fonction putenv() dans un script PHP sera sans effet. Cette variable d'environnement peut aussi être utilisée pour s'assurer que d'autres opérations fonctionnent aussi sur les fichiers téléchargés. Exemple 18-2. Validation de téléchargement de fichiers

Les exemples ci-dessous sont valables avec les versions de PHP plus récentes que la 4.0.2. Voyez les fonctions is_uploaded_file() et move_uploaded_file().

<?php
// En PHP < 4.1.0, $HTTP_POST_FILES doit être utilisé
// à la place de $_FILES.
// En PHP plus ancien que 4.0.3, utilisez copy() et is_uploaded_file()
// à la place de move_uploaded_file

$uploaddir = '/var/www/uploads/';

print "";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "Le fichier est valide, et a été téléchargé
avec succès. Voici plus d'informations :\n";
print_r($_FILES);
} else {
echo "Attaque par upload potentielle. Voici plus d'informations :\n";
print_r($_FILES);
}
?>

Le script PHP qui reçoit le fichier chargé doit pouvoir gérer le fichier de manière appropriée. Vous pouvez utiliser la variable $file_size pour recaler tous les fichiers qui sont trop gros ou trop petits. Vous pouvez utiliser la variable $file_type pour recaler les fichiers qui n'ont pas le bon type. Quelques soient les actions, ce script doit pouvoir supprimer le fichier du dossier temporaire, ou le déplacer ailleurs. Depuis PHP 4.2.0, vous pouvez utiliser l'information dans $_FILES['userfile']['error'] et adapter votre politique en fonction des code d'erreur. Quelque soit votre politique, vous devriez soit effacer le fichier du dossier temporaire, soit le déplacer.

Le fichier sera automatiquement effacé du fichier temporaire à la fin du script, s'il n'a pas été déplacé ou renommé.
0

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

Posez votre question
kodiask Messages postés 158 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 novembre 2007
22 déc. 2003 à 18:07
g essayer ce script mai le problème c'est qu'il me dit qu'une ataque potentielle .....

ce script permet d'envoeyr qu'elle type de fichier ?
0
floflotz Messages postés 240 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 6 janvier 2006
22 déc. 2003 à 18:19
n'importe quoi normalement !
c'est peut etre la encore le serveur multimania qui fait chier !

regarde dans la faq de multimania si y'avait rien sur le sujet parce que tu dois pas être le premier à qui ca arrive !
0
kodiask Messages postés 158 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 novembre 2007
23 déc. 2003 à 13:59
g fai d recherche et g finallement trouver c en gros le mm truk ke tu me filer avec d modif en plus, le pb je croi ke chez multi on peut enovyer seulement des fichier inférieur a 200Ko .
merci de ton aide !
0
Rejoignez-nous