[AIDE]transformer une fonction

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [AIDE]transformer une fonction

par Botitine » 14 janv. 2009, 12:28

Pas de soucis il fonctionne je l'utilise souvent et il est très simple a comprendre ce qui est le plus important. seule chose : augmente la taille max autorisée (ici 3Mo)
:wink:

par accrok » 14 janv. 2009, 11:42

merci à toi pour ton aide, c'est à peu de chose près ce que j'avais coder comme scripts, et rien !!!

j'avais juste changer la génération du nom du fichier par un code avec ca :

Code : Tout sélectionner

// generate a random new file name to avoid name conflict $imagePath = md5(rand() * time()) . ".$ext";

je vais donc retenter ma chance en retapant un code un peu dans le même esprit mais....

par Botitine » 14 janv. 2009, 11:33

Coucou je te propose ce code tres simple a comprendre et qui fonctionne :wink:

Code : Tout sélectionner

$nom = $_POST['nom']; $nom = strtr($nom, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ\'\:?! ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy______'); // Ici tu mets les extension que tu désire. $extension = array('.mov', '.swf', '.flv', '.wmv'); $extension1 = strrchr($_FILES['img1']['name'], '.'); // Si l'extension est dans le tableau. if(in_array($extension1, $extension)) { /************************* * Transfert du fichier * *************************/ if(isset($_FILES['img1'])) { // Le répertoire de destination doit avoir le CHMOD en 777. $dossier_destination = '../img/part/'; // Le répertoire de destination. $taille_max_autorisee = 3000000; // La taille maximum autorisée pour un fichier en octets. if (file_exists($_FILES['img1']['tmp_name'])) { if (filesize($_FILES['img1']['tmp_name']) < $taille_max_autorisee) { $nom_fichier = basename($_FILES['img1']['name']); // La parttion à récupérer. // On enléve les accents. $nom_fichier = strtr($nom_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ\'\:?!', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy_____'); // On remplace les caractéres autres que des lettres, chiffres et point par _ $nom_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $nom_fichier); // On ajoute la date et l'heure en fin de nom du fichier. $nom_fichier = $nom."_".$nom_fichier; // On déplace le fichier. stripslashes (move_uploaded_file($_FILES['img1']['tmp_name'], $dossier_destination.$nom_fichier)); } } } }
Voila, voila bonne journée

par accrok » 14 janv. 2009, 10:47

je suis vraiment plus que nul, je ne parvient à rien, j'essaie en vain d'uploader un fichier flv et rien, il ne se deplace même pas dans le dossier specifié ....grrrr, donc je repart sur le script de base ci dessus et je retente de coder un truc même si j'ai peut de doute sur le resultat vu mon petit niveaux !!!

Par ou commencer?, a quel endroits commencer mon code la dedans? comment proceder? avec une fonction specifique à l'extensions flv, mov ... suis je obliger de coder un truc compliquer avec des tonnes de else et if ???

bref jsui vraiment une bille comme debutant !!! ;)

un peu d'aide ne serait pas de refus


PS: le plus simple pour moi ne serait pas de télécharger cette application http://www.nasuploader.com et ensuite de l'integrer à mon interface admin et mettre un lien automatiquement vers mon jQuery à l'upload des fichiers pour qu'il soit generer automatiquement dans ma page ????

par accrok » 12 janv. 2009, 21:22

super merci de ton aide et de tes indications très precise, je me mets au travail et vais tenter d'obtenir un truc !! ;)

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par Ryle » 12 janv. 2009, 17:43

Alors pour répondre à ta question, oui, c'est tout à fait possible. En fait php ne gère pas d'upload d'image, de pdf ou de mpeg, il gère l'upload de fichiers, et c'est à toi - une fois le fichier transféré - de lui faire subir le sort de ton choix :)

En l'occurence, dans l'exemple que tu donnes ici, tu supposes que le fichier spécifié est une image, tu vérifies sa largeur/hauteur, la redimensionne au besoin, et créer une vignette.

Dans ton cas, pour uploader un fichier de type vidéo, la seule partie du code qui devrait t'intéresser est la fonction move_uploaded_file() qui permet de déplacer le fichier uploadé du dossier temporaire vers le répertoire de ton choix :)

A enrichir ensuite pour empêcher l'utilisateur de pouvoir uploader des scripts php malveillants, mais ça se fera dans un second temps, commence déjà par récupérer ton fichier :)

[AIDE]transformer une fonction

par accrok » 12 janv. 2009, 13:29

Bonjour je suis débutant en php, et je souhaiterais transformer une fonctions qui donne la possibilité d'uploader des fichiers images, en une fonctions idem (du moins au plus proche) qui donne la possibilités d'uploader des fichiers vidéos (.mov, .swf, .flv, .wmv) .

Est ce possible ?

Et si oui, comment dois je procéder, auriez vous un bon tuto simple pour un débutant, ou est ce que quelqu'un pourrait me venir en aide ?

Voici la fonction en questions !!!

PS: je sais que cela va être dur de capturer automatiquement la première image de la vidéo pour en faire un thumbnails, donc je veut zapper cette possibilité et la transformer par une possibilité qui me permettrais d'uploader moi même le thumbs pour cette vidéos.

Code : Tout sélectionner

function uploadimage($inputName, $uploadDir) { $image = $_FILES[$inputName]; $imagePath = ''; $thumbnailPath = ''; // if a file is given if (trim($image['tmp_name']) != '') { $ext = substr(strrchr($image['name'], "."), 1); //$extensions[$image['type']]; // generate a random new file name to avoid name conflict $imagePath = md5(rand() * time()) . ".$ext"; list($width, $height, $type, $attr) = getimagesize($image['tmp_name']); // make sure the image width does not exceed the // maximum allowed width if (LIMIT_WIDTH && $width > MAX_IMAGE_WIDTH) { $result = createThumbnail($image['tmp_name'], $uploadDir . $imagePath, MAX_IMAGE_WIDTH); $imagePath = $result; } else { $result = move_uploaded_file($image['tmp_name'], $uploadDir . $imagePath); } if ($result) { // create thumbnail $thumbnailPath = md5(rand() * time()) . ".$ext"; $result = createThumbnail($uploadDir . $imagePath, $uploadDir . $thumbnailPath, THUMBNAIL_WIDTH); // create thumbnail failed, delete the image if (!$result) { unlink($uploadDir . $imagePath); $imagePath = $thumbnailPath = ''; } else { $thumbnailPath = $result; } } else { // the product cannot be upload / resized $imagePath = $thumbnailPath = ''; } } return array('image' => $imagePath, 'thumbnail' => $thumbnailPath); }
[/php]