begin process at 2012 05 30 16:44:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

move_upload_file()


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

move_upload_file()

jeudi 8 janvier 2009 à 16:29:51 | move_upload_file()

didygwatinik

Bonjour,
J'ai réalisé un site en local qui marche très bien, maintenant je l'ai envoyé sur internet mais je ne vois pas du tout comment je pourrai utiliser la fonction move_upload_file. Je l'ai hébergé j'ai free. A la base, voilà mon code :

/*if(is_dir('Images')==false)
mkdir("Images",0777,true);//on crée le répertoire images s'il n'existe pas
chdir('Images');//on se place sur le répertoire images*/
$nomFichier = md5(uniqid(rand(), true));
$nomAvatar= "$nomFichier.{$extension_upload}";
//transfert de l'image
$resultat = move_uploaded_file($_FILES['avatarMembre']['tmp_name'],Images/$nomAvatar);


Avec ce code , j'obtiens l'erreur : Warning: Division by zero in /mnt/102/sda/1/a/didyjeunestalents/membre_enregistre.php on line 106
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/mnt/102/sda/1/a/didyjeunestalents/php3ors0f' to '' in /mnt/102/sda/1/a/didyjeunestalents/membre_enregistre.php on line 106

 Quelqu'un peut-il m'aider, en clair je veux que l'image se retrouve dans le fichier "Images" qui est sur mon serveur.
J'ai déjà lu d'autres posts mais je ne comprends pas

Merci
jeudi 8 janvier 2009 à 18:15:23 | Re : move_upload_file()

LiveChatteur

Membre Club

Salut ton serveur et surement en safe mode mes il y a une solution

<?PHP
$id = md5(date("dmYHis"));

$file = 'picture/';
$file_tmp = $_FILES['fichier']['tmp_name'];
$file_upload_picture = 'picture/'.$id.'.jpg';

$ftp_serveur = "ton serveur";
$ftp_user = "login";
$ftp_password = "mot de passe";


$ftp = ftp_connect($ftp_serveur);
$result = ftp_login($ftp, $ftp_user, $ftp_password);

if (file_exists($file) == false)
{
    ftp_mkdir($ftp, $file);
}

ftp_put($ftp, $file_upload_picture, $file_tmp, FTP_BINARY);

ftp_close($ftp);
?>

www.Livechatteur.com


vendredi 9 janvier 2009 à 08:34:33 | Re : move_upload_file()

kohntark

Membre Club
Réponse acceptée !
Salut,


move_uploaded_file($_FILES['avatarMembre']['tmp_name'],Images/$nomAvatar);
=>
move_uploaded_file($_FILES['avatarMembre']['tmp_name'], 'Images/'.$nomAvatar);

Il est fort probable que tu ais encore des problèmes ($nomAvatar, ...)


Kohntark -

vendredi 9 janvier 2009 à 22:32:03 | Re : move_upload_file()

JulSoft

Membre Club
j'ai eu ce problème une fois... J'avais trouvé une sollution qui consistait à utiliser la fonction rename(): http://ch2.php.net/manual/en/function.rename.php avec comme nom original $_FILES["monfichier"]["tmp_name"].

C'est pas des plus propre, mais ça avait marché pour moi.
vendredi 9 janvier 2009 à 23:21:15 | Re : move_upload_file()

kohntark

Membre Club
@julsoft :
Ca peut être une idée (je serai par contre étonné que ça fonctionne sur un serveur free), mais la prmière des choses à faire est d'avoir un code "propre". Ce que j'énonçais dans mon précédent post pose à coup sur pb, comme les "{"

Kohntark-
vendredi 9 janvier 2009 à 23:37:33 | Re : move_upload_file()

JulSoft

Membre Club
Alors (toujours si mes souvenirs sont bons) ça fonctionne chez free (c'est chez eux que j'hàbergais une partie de mes données à l'époque). Aparemment il est conseillé d'utiliser move_uploaded_file() pour des raisons de sécurité (aparemment en raison du contenu potentiellement dangereux du fichier):

"
This function checks to ensure that the file designated by filename  is a valid upload file (meaning that it was uploaded via PHP's HTTP POST upload mechanism). If the file is valid, it will be moved to the filename given by destination .

This sort of check is especially important if there is any chance that anything done with uploaded files could reveal their contents to the user, or even to other users on the same system
"

Je comprends ça comme un moyen d'empécher qu'on upload un stream qui aille ensuite interagir avec le reste du systeme, mais j'avoue sécher un peu sur ce point...

Niveau "propreté" du code, il faut en fait surtout faire attention à avoir des noms de fichiers qui ne posent pas de problème (une solution relativement simple est de remplacer tous les caractéres spéciaux par "_" à l'aide d'une regexp, comme on peut le faire à l'aide de detox sous linux).
samedi 10 janvier 2009 à 00:53:00 | Re : move_upload_file()

kohntark

Membre Club
Salut Julsoft,

Je reste étonné que ça fonctionne :o) ... mais si tu le dis je te crois sur parole.
Je viens de faire un test sur mon serveur (perso) et ça fonctionne. Ca reste tout de même super dangereux je trouve. Suivant comment est fait le script ça peut ouvrir de très grosses failles de sécurité.

Nous sommes d'accord pour les noms de fichiers exotiques, mais le principal problème ici est :
move_uploaded_file($_FILES['avatarMembre']['tmp_name'],Images/$nomAvatar);
=>
(je n'ai pas testé)
le "Images/$nomAvatar" ne fonctionnera jamais (interprété sans doute comme une constante non déclarée) A coup sur le script plantera.

Ensuite il y a ça :
$nomAvatar= "$nomFichier.{$extension_upload}";
=> pourquoi des "{" ???



Kohntark -

samedi 10 janvier 2009 à 00:58:38 | Re : move_upload_file()

JulSoft

Membre Club
Je suis tout à fait d'accord avec ce que tu soulèves comme problèmes au niveau du scrupt de base (les "{}" par exemple. J'étais parti sur ta première correction en fait.

Niveau failles de sécurités, je t'avoues que je ne vois pas vraiment ce que ça pourait ouvrir de plus que le simple fait de permettre l'upload de fichier je t'avoue.


Cette discussion est classée dans : images, file, upload, move, uploaded


Répondre à ce message

Sujets en rapport avec ce message

move_uploaded_file [ par brok ] L'upload de fichier en php fonctionne tres bien avec la fonction: move_uploaded_file($HTTP_POST_FILES["name"]["tmp_name"],$newname);Par contre une foi PHP move_uploaded_file - upload de fichiers [ par thias21 ] Bonsoir, je suis en train de galérer pour utiliser le script de rottweiller (http://www.phpcs.com/code.aspx?ID=13038)- upload de fichier) qui fonction move_uploaded_file(), probleme sur certains fichiers [ par seco_one ] Bonjours a tous, voila mon probléme.J'ai un code d'upload relativement basique, qui marche parfaitement, exeption faite pour certains fichiers .voici upload de fichier et permission (problem avc le serveur distant) [ par kill666 ] bonjour tout l Monde : Ben un petit problem que j'ai pa trouver la soulution et sa m'engoisse : quand je fait un upload ver le serveur distant il m'af upload de fichier et permission (problem avc le serveur distant) [ par kill666 ] bonjour tout l Monde : Ben un petit problem que j'ai pa trouver la soulution et sa m'engoisse : quand je fait un upload ver le serveur distant il m'af fonction move upload [ par scorpion077 ] Bnojour,j'ai un soucis avec la fonction move upload. Voici mon code :move_uploaded_file($tmp_file, $repertoire . $nomfichier);Voici l'erreur dans IE : Probleme upload photo [ par profsys ] Bonjour je recois ce  message lors de uploadation  un  image vers mon site .!!<img class="inlineimg" title="mad" alt="" src="http://www.coding probleme move_uploaded_file [ par meusanland ] bonjour ou bonsoir j'ai un bug dans mon script, il est vrai que je suis tout nouveau dans php donc je ne comprend pas encore mes erreur. voila le sc upload image [ par mnassar ] je suis un debuteur en php alors je trouve un problème au niveau de upload de l'image et voila le message d'erreurWarning: move_uploaded_file(../imag PHP Warning : move uploaded_file [ par BenamourJr ] Je suis en train de monter un script tout bête d'upload d'avatar sur mon site et j'ai cet affreux message d'erreur : [27-Mar-2010 20:08:17] PHP Warni


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,593 sec (3)

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