begin process at 2010 02 10 09:45:20
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > ENFIN UN UPLOAD PHP

ENFIN UN UPLOAD PHP


 Information sur la source

Note :
4,83 / 10 - par 12 personnes
4,83 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Niveau :Débutant Date de création :12/09/2001 Vu :41 631

Auteur : ayperos

Ecrire un message privé
Site perso
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

 Description

bah le code n'est pas de moi mais trouvais interessant de la mettre sur le site...
(code d'origine : http://www.php.net/manual/en/features.file-upload. php)

Source

  • => le fichier html (upload.html)
  • <form enctype="multipart/form-data" action="upload.php3" method="post">
  • <input type="text" name="MAX_FILE_SIZE" value="1000">
  • Send this file: <input name="userfile" type="file">
  • <input type="submit" value="Send File">
  • </form>
  • => le fichier php (upload.php3)
  • <?php
  • /* Userland test for uploaded file. */
  • function is_uploaded_file($filename) {
  • if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {
  • $tmp_file = dirname(tempnam('', ''));
  • }
  • $tmp_file .= '/' . basename($filename);
  • /* User might have trailing slash in php.ini... */
  • return (ereg_replace('/+', '/', $tmp_file) == $filename);
  • }
  • if (is_uploaded_file($userfile)) {
  • copy($userfile, "/place/to/put/uploaded/file");
  • } else {
  • echo "Possible file upload attack: filename '$userfile'.";
  • }
  • ?>
        => le fichier html (upload.html)


<form enctype="multipart/form-data" action="upload.php3" method="post">
<input type="text" name="MAX_FILE_SIZE" value="1000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>


       => le fichier php (upload.php3)

<?php
/* Userland test for uploaded file. */ 
function is_uploaded_file($filename) {
    if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {
        $tmp_file = dirname(tempnam('', ''));
    }
    $tmp_file .= '/' . basename($filename);
    /* User might have trailing slash in php.ini... */
    return (ereg_replace('/+', '/', $tmp_file) == $filename);
}

if (is_uploaded_file($userfile)) {
    copy($userfile, "/place/to/put/uploaded/file");
} else {
    echo "Possible file upload attack: filename '$userfile'.";
}
?>

 

 Conclusion

bon je l'ai tester sur mon serveur et il marche... il marche, tres vite d'ailleur................ MERDE il s'enfuit...


 Sources du même auteur

Source avec Zip EDITEUR SUR SERVEUR =&GT; POUR CEUX QUI EN ONT MARRE DU FTP

 Sources de la même categorie

SONDAGE - VOTE - POLL (AVEC MYSQL) par hornet_bzz
Source avec Zip Source avec une capture CRAYONPRO EST UN CMS SIMPLE EN PHP ET MYSQL - INSTALLATION E... par crayoncie
Source avec Zip Source avec une capture LISTENGEN GÉNÉRATEUR DE FICHIER PLAYLIST par AGG
Source avec Zip IP CALCULATOR par X_Cli
Source avec Zip Source avec une capture WHOIS DOMAIN CLASS : LOOKUP & AVAIBILITY par aKheNathOn

Commentaires et avis

Commentaire de RockmanX le 01/01/2002 12:25:54

Bon, voila,
J'ai passé 4 heures sur ce script mais g trouvé les condition pour qu'il marche:
1: pour utilise is_uploaded_file il faut avoir PHP 4, sinon faut renommer,
2: il faut ABSOLUMENT que le dossier cible soit en mod CHMOD 777 sinon il    permet pas l'accès...
3: il vaut ieux définir un nom pour le fichier : $file_name et définir $file_dir
    ainsi, on met tout connement, copy($fupload (=&gt; c le fichier du form),     $filedir/file_name
Je remercie au passage Onurb pour son aide et sa gentillesse

Commentaire de goliath2002 le 07/01/2003 09:32:36

RockmanX soit plus claire, je suis débutant

Commentaire de Mike le 14/01/2003 16:29:36

c pas securisé ts ça, si vous vous faite piraté avec ce script c normal !!!

Commentaire de guyrnaf le 28/08/2003 14:27:19

lu bon tout ça c tres bien mais j'ai pas compris
j'ai pleins de question
est ce que l'on peut choisir le repertoire cible grace a ton script ??
est ce que y a une config ( login /mdp )?
y a til une limite de taille pour les fichiers que l'on veut uploader?

Commentaire de AbriBus le 10/09/2003 21:39:12

Ben chez moi, ca marche po... :-(... il me met l'erreur "Fatal error: Cannot redeclare is_uploaded_file() in c:websitephpupload.php on line 13" puis apres la tentative d'upload erreur 404 avec en url http://monserveur/upload.php3... quelqu'un à une idée ?

Commentaire de mejon2 le 11/11/2003 13:58:27

Salut,
Chez moi ça marche pas aussi.
" Possible file upload attack: filename 'C:Program FilesEasyPHP mpphp36.tmp'. "
Voila, je vais voir si je trouve autre chose.

Commentaire de Do le 13/11/2003 22:55:30

marche pas ici non plus :(

Commentaire de Shadow_Source le 10/03/2004 17:31:32

Voilà, moi aussi g un pb !!
Faut renomer en php4 ? (g modif mon html et mis php4 + .php4 sur le ficher ex php3, marche pas, erreur 405 :().

Le rep est bien en chmod777 mais rien n'y fait !!

Sa marche toujours pas lol.

Es-ce que quelqu'un a une idée ?

Au fait, php4 c pas compatible php3 je suppose, et puis, tout les serv, de nos jours, sont-ils php4 ???

Merci de m'aider !!

Commentaire de romalafrite le 16/05/2004 17:57:30

NOTE IMPORTANTE : tu utilises la fonction copy qui ne fonctionne que sur serveur de base windows, sur serveur UNIX il te faudra utiliser la fonction move_uploaded_file avec tout ce qui va avec...

Commentaire de anix le 17/09/2004 11:18:09

Salut g pour vous un code meilleur ...
... voir www.miasmatik.net

Commentaire de aze555666 le 01/10/2004 20:58:39

voir aussi code.aspx?id=24147

Commentaire de anix le 03/10/2004 13:43:42

ça ne marche pas code.aspx?id=24147 comment l'utiliser SVP....

Commentaire de stanilou le 01/11/2004 10:28:41

anix anix, réfléchi ! http://www.phpcs.com/code.aspx?id=24147

Commentaire de kouki1000 le 13/01/2008 19:56:14

Moi, en erreur:

Fatal error: Cannot redeclare is_uploaded_file() in upload.php3 on line 3

Commentaire de zen69 le 04/02/2008 16:31:17

l'erreur suivante:

Fatal error: Cannot redeclare is_uploaded_file() in upload.php3 on line 3

signifie que la fonction is_uploaded_file() existe déjà.

il serait donc logique d'enlever cette partie de code

# function is_uploaded_file($filename) {
# if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {
# $tmp_file = dirname(tempnam('', ''));
# }
# $tmp_file .= '/' . basename($filename);
# /* User might have trailing slash in php.ini... */
# return (ereg_replace('/+', '/', $tmp_file) == $filename);
# }

Cette fonction est built-in depuis la version 4.0.3 de php

Commentaire de zen69 le 04/02/2008 16:35:15

Cepandant si vous comptez utiliser ce code sur different servers il serait preferable de faire comme suit.

if (!function_exsists(is_uploaded_file))
{
  function is_uploaded_file($filename) {
    if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {
      $tmp_file = dirname(tempnam('', ''));
    }
    $tmp_file .= '/' . basename($filename);
    /* User might have trailing slash in php.ini... */
    return (ereg_replace('/+', '/', $tmp_file) == $filename);
  }
)

Commentaire de Poussmaster le 29/02/2008 06:51:42

En réponse à Anix : l'objet upload n'est plus sur miasmatik.net mais sur miasmatech.net.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

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

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