IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Transformer ce code en fonction


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut Transformer ce code en fonction
    Bonjour,
    J'utilise toujours ce code pour l'upload de fichier depuis un site web.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    define('UPLOAD_DIRECTORY', './uploads/');
    $extensions_OK = array('jpg', 'jpeg', 'gif', 'png');
     
    if(!empty($_FILES)){
        if(!empty($_FILES['attached_file']['name'])){
    	$ext = strtolower( pathinfo($_FILES['attached_file']['name'],  PATHINFO_EXTENSION)  );
    	if(in_array($ext, $extensions_OK)){
                  if(is_uploaded_file($_FILES['attached_file']['tmp_name'])){
                  $name     = $_FILES['attached_file']['name'];
                  $tmp_name = $_FILES['attached_file']['tmp_name'];
                  $error    = $_FILES['attached_file']['error'];
                  $clean_name = md5( uniqid('H', 5) ).'.'.$ext;	
                  if(function_exists('mime_content_type')){$type = mime_content_type($tmp_name);}
                  else{$type = $_FILES['attached_file']['type'];}	
                  if(!move_uploaded_file($tmp_name, UPLOAD_DIRECTORY.$clean_name)){$error_string = "Le fichier <b>n'a pas</b> été déplacé correctement";}
                  else{$error_string = 'Le fichier a été déplacé correctement';}
     
                  }
    	}
        }
    }
    Tout ce qui change d'une utilisation à l'autre c'est ces trois variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    define('UPLOAD_DIRECTORY', './uploads/');
    $extensions_OK = array('jpg', 'jpeg', 'gif', 'png');
    $_FILES['attached_file']
    Ce dernier dépend de l'attribut name de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="file" name="attached_file" />
    Comment transformer ce truc en fonction, juste en transmettant ces 3 paramètres lors de l'exécution.

    Merci d'avance...

  2. #2
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    define('UPLOAD_DIRECTORY', './uploads/');
    $extensions_OK = array('jpg', 'jpeg', 'gif', 'png');
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    function I_AM_FCKINK_LAZY($upload_dir, $extensions_OK, $varname)
    {
    if(!is_array($_FILES[$varname])){
        if(!empty($_FILES[$varname]['name'])){
    	$ext = strtolower( pathinfo($_FILES[$varname]['name'],PATHINFO_EXTENSION) );
    	if(in_array($ext, $extensions_OK)){
                  if(is_uploaded_file($_FILES[$varname]['tmp_name'])){
                  $name     = $_FILES[$varname]['name'];
                  $tmp_name = $_FILES[$varname]['tmp_name'];
                  $error    = $_FILES[$varname]['error'];
                  $clean_name = md5( uniqid('H', 5) ).'.'.$ext;	
                  if(function_exists('mime_content_type')){$type = mime_content_type($tmp_name);}
                  else{$type = $_FILES[$varname]['type'];}	
                  if(!move_uploaded_file($tmp_name,$upload_dir.$clean_name)){$error_string = "Le fichier <b>n'a pas</b> été déplacé correctement";}
                  else{$error_string = 'Le fichier a été déplacé correctement';}
     
                  }
    	}
        }
    }
     }
    J'ajouterai qu'à ce niveau il faut aller dans la section débutant.

  3. #3
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    j'ai merdé, elle marche pas ma fonction.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par gene69 Voir le message
    j'ai merdé, elle marche pas ma fonction.
    J'avais déjà le sourire aux lèvres, dommage.
    Merci d'avance...

  5. #5
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    de l'autre côté à un caractère près elle fonctionne. Je te laisse chercher, c'est pas dur. Le principal c'est que tu voies le principe.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par gene69 Voir le message
    de l'autre côté à un caractère près elle fonctionne. Je te laisse chercher, c'est pas dur. Le principal c'est que tu voies le principe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(!is_array($_FILES[$varname])){
    Je ne crois que cela soit la syntaxe de la fonction is_array. Et en outre pourquoi cette négation? Je ne comprends pas bien...

    Merci d'avance...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Migration de code VB - Fonction CreateObject
    Par Agoye dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/06/2006, 15h23
  2. [XML] Transformer un code XML en PHP
    Par leila2006 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 07/05/2006, 18h51
  3. [LG] Transformer un code ascii en un autre
    Par JoseF dans le forum Langage
    Réponses: 8
    Dernier message: 29/12/2005, 11h47
  4. [PHP-JS] pasteHTML qui transforme le code
    Par jibouze dans le forum Langage
    Réponses: 1
    Dernier message: 28/10/2005, 17h36
  5. [] transformer un code ean en isbn
    Par dlpxlid dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 15/10/2005, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo