moogli

  • Signature
    Il en faut peu pour être heureux !!!!!
  • Site web
  • Nombre de sujets
    33
  • Nombre de messages
    1 802
  • Nombre de commentaires
    6
  • Nombre de news
    Aucune
  • Niveau en PHP
    Excellent

Ses derniers messages sur les forums

moogli
le 19/10/2004 à 22:58
Comment faire : upload d'image via http et php
Salut,

Voila comme sa revient très souvent sur le forum je viens de faire un p'tit chose qui devrait faire plasir à plus d'un smiley

Comment uploader un fichier vers son site via http ?

Pour commencer le formulaire d'upload :
<html>
<head>
<title>Upload de fichier</title>
</head>
<body>
<form name="formu" action="trait.php" method="post" enctype="multipart/form-data">
Votre fichier <input type="file" name="fichier" accept="image/gif" /><br/>
<input type="submit" value="Go !!!!" />
</form>
</body>
</html>

[list]Vous pouvez utiliser
[*] accept="type mime" Ou type mime represente le type du fichier a uploader ( exemple accept="image/gif")
[*] maxlength="poids" Ou poids est le poids maximale (en octet) du fichier a uploader
[/list]

Le fichier trait.php :
Ce fichier traite le formulaire donc c'est ici que l'on va vérifier si le fichier a les caractéristique voulus.

Cet exemple est prévu pour des images de type gif qui seront copier dans le répertoire ./images_up
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/wall.php?id=1744]ce lien[/lien])


Voila avec cela vous pouvez uploder des images de type gif de dimension inférieur a 100x100 et dont le poid est inférieur a 20Ko (déja pas mal).
Pour d'autre type d'images il suffit de rajouter le type mime avec un (plusieur) elseif. Pour d'autre type de fichier, rechercher leur type mime.
bien sur ce script est assez simple (le formulaire est minimale), mais il contient un minimun de sécurité (test du type mime par exemple).
Il comporte quelque facilité telque la vérificatin du nom de l'img (pour évité d'en écraser une) ou la suppression des espaces dans le nom (pour évité l'erreur a l'affichage).

j'espère que tout ceci vous auras permis de comprend les bases de l'upload de fichier via http en php :)

[list]Ce qu'il retse à Faire :
[*] Intrégrer tous sa a vos script
[*] Ajouter des tester et autres pour ajouter sécurité et éfficacité a votre script
[/list]
@+
Il en faut peu pour être heureux !!!!!
moogli
le 19/10/2004 à 18:47
gestion d'image
salut,

y a déja plein de truc la dessus sur le forum.

Pour commencer dans le formulaire il te faut un champ input de type="file"
ensuite tu doit annoncé ton formulaier comme sa

<form enctype="multipart/form-data" methode="post" ..>

dans ta page de traitement tu récupère une variable $_FILES['nom de ton champ input']
avec cette variable tu a accès a plein d'infos sur ton fichier telque le nom réel du fichier , le nom temporaire, le type mime)
<?php
$fichier=$_FILES[$nom]['name'];//nom reel de l'image ????
$size=$_FILES[$nom]['size']; //poid de l'image en octet
$tmp=$_FILES[$nom]['tmp_name'];//nom temporaire de l'image
$type=$_FILES[$nom]['type'];//type de l'image list($width,$height)=getimagesize($tmp);
?>


ensuite vient ceci
<?php
if(is_uploaded_file($tmp))
move_uploaded_file($tmp,$ficiher); // a partir des variable donnée avant
?>


avec sa tu doit pouvoir t'en sortir.
Je te conseil de vérifier la taille de l'image (c donné) ainsi que le type mime

@+
Il en faut peu pour être heureux !!!!!
moogli
le 19/10/2004 à 15:53
Javascript hardu :)
ouis dans un popup :(

la position du curseur est enregistrer dans des variables (le script l'enregistre a chaque change et focus du textarea) ya pas moyen d'utiliser les variables de la page mère ?

Merci
Il en faut peu pour être heureux !!!!!
moogli
le 19/10/2004 à 14:36
Javascript hardu :)
voila j'utilisedes smilies et bbcode cliquable (spéciale boulet et fainéant smiley). J'utilise une page smilies (comme ici) pour afficher mes smilies .... sa fonctionne nikel. Maintenant je voudais que le code du smilies soit afficher a l'emplacement du curseur. J'utilise pour cela une fonction trouver sur un site dont on ma donné le lien ici

J'ai bidouiller sa pour pouvoir l'utiliser sur toute mes page sans avoir a changer le nom de form et textarea. Le truc fonctionne mais je n'arrive pas l'utiliser d'une seconde page (celle des smilies par exemple.).
Le code pour l'insertion a l'emplacement du curseur
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1740]ce lien[/lien])


dans mon fichier qui affichemes smilies
je fait sa
<?php
echo '<a href="#" onClick="go(\''.$code.'\');return false;"><img src="'.PATH_HTTP.'/images/smiley/'.$lien.'" border=0></a>';
//j'ai essayer sa sans succès
echo '<a href="#" onClick="insereChaine(\''.$code.'\');return false;"><img src="'.PATH_HTTP.'/images/smiley/'.$lien.'" border=0></a>';
?>

La fonction go()
function go(code) {
var objForm=opener.document.forms[\''.$_GET['form'].'\'].elements[\''.$_GET['area'].'\'];
objForm.value = objForm.value + code +" ";
}
je pense que cela vient du fait qu'il faudrait que j'utilise les variables (voir meme les fonctions) du script de la 1er page mais j'y arrive po :(

Ben voila si quelqu'un a pigé quelque chose et qu'il peut m'aider se serait génial :)

Merci
@+
Il en faut peu pour être heureux !!!!!
moogli
le 18/10/2004 à 14:18
pb avec plusieurs pièces jointes
salut,
pour les pièces jointes je ne sais pas smiley mais pour le formulaire vaut mieux mettre deux nom diffrérent ou alors un tableau ( name="truc[]" ).

@+
Il en faut peu pour être heureux !!!!!
moogli
le 15/10/2004 à 19:06
radio checked
lut,


exemple lorsque l'on utilise le claver pour passer d'un champ a l'autre ( tab par exemple).

Ensuite tu peut donner le focus a une checkbox sans forcément la cliquer :)

autre exmemple dans une texte area quand tu tape du texte c'est l'objet textarea qui a le focus mais tu clique pas.
bref c'est utile pour tout ce qui peut se faire au clavier.

@+
Il en faut peu pour être heureux !!!!!
moogli
le 15/10/2004 à 18:47
Problème retour à la ligne dans balise <td>
lu,

ben c'est expliqué au dessus :)

en fait quand la taille va dépasser la largeur spécifier cela va te mettre une scrollbar horizontale et donc tu ferra defiler ton txt avec le mulot :)

exemple
le css
.truc {
width:100px;
overflow:scroll;
}

le html

<div class="truc">Ton txt avec tes mot trop long :)
</div>
Le seul truc c'est que tant que ta pas de retour chariot (<br>) le truc affiche sur une ligne donc n'oublie pas le nl2br.

@+
Il en faut peu pour être heureux !!!!!
moogli
le 11/10/2004 à 18:14
problème avec mon script
J'ai compris,

quand tu définit ta requete t utilise des ' donc en fait tu va avoir sa dans requete

SELECT * FROM table WHERE departement=\"$departement\"

- tu protège les double quotes dans une chaine délimité par des simples quotes => inutile
- une chaine délimité par des ' ne sera pas interprété contrairement a des double quotes

=> $requete = ' WHERE departement="'.$departement.'"';
pareil pour les autres.

essai a vec sa je pense que sa va t'aider

Un petit conseil utilise mysql_error c'est très pratique
=> mysql_query($sql) or die ('Erreur SQL<br/>'.$sql.'<br/>'.mysql_error());

Je ne sais pas si tu l'utilise ta pas mis le code avec le query.

@+
Il en faut peu pour être heureux !!!!!
moogli
le 11/10/2004 à 17:43
jour semaine
j'allais le dire smiley

le temps que trouve comment marche mktime.

date('w',mktime(0,0,0,$mois,$jour,$annee).

et tu as jour, mois, annee avec explode et la date dans mysql :)

@+
Il en faut peu pour être heureux !!!!!
moogli
le 11/10/2004 à 17:31
problème avec mon script
salut,

tu définit mal tes option dans les select (tu ne leur donne pas de valeur)

=> <select name="kf">
<option value="truc">truc</option>
<option value="machin">machin</option>

ensuite je pense qu'il te manque quelque chose dans le traitement php de ton formulaire.
pour utiliser les variables renvoyé par le fomulaire tu doit utiliser $_POST ou $_GET (suivant la method du form).
si tu ne veut rien changer tu peut rajouter en haut
extract($_POST);
cela va te créer les variables présente dans $_POST (donc issu du formulaire).

Je pense que c'est pour sa que tes différent test ne sont pas validé ...

@+
Il en faut peu pour être heureux !!!!!
LoadingChargement en cours