Enfin un upload php

Soyez le premier à donner votre avis sur cette source.

Snippet vu 47 375 fois - Téléchargée 34 fois

Contenu du snippet

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 / Exemple :


=> 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...

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
samedi 10 novembre 2007
Statut
Membre
Dernière intervention
23 février 2008

En réponse à Anix : l'objet upload n'est plus sur miasmatik.net mais sur miasmatech.net.
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
1
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);
}
)
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
1
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
Messages postés
108
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
5 novembre 2010

Moi, en erreur:

Fatal error: Cannot redeclare is_uploaded_file() in upload.php3 on line 3
Messages postés
193
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
18 novembre 2009

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

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.