KaLiS Seregmegilmor | Déjà pour ce qui est de l'envoi de fichiers, il y'a des fonctions prévues... alors si je me souviens bien, faut utiliser des trucs du genre....
première page un formulaire de ce type.
Code :
- <form enctype="multipart/form-data" action="sendpic.php" method="post">
- <input name="userfile" type="file">
- <input type="submit" value="Envoyer">
- </form>
|
qui envoie ça a une deuxième page ou tu utiliseras qqchose comme ça pour stocker l'image...
Code :
- $imgarray = array("image/pjpeg", "image/jpeg", "image/gif" );
- $filename=$_FILES['userfile']['name'];
- IF ($_FILES['userfile']['error']!=0)
- { choose_text_lang("An error has happened, please try again","Une erreur est arrivée, veuillez réessayer",$lang);
- echo "<br><a href=\"javascript:history.go(-1)\">";
- choose_text_lang("Back","Retour",$lang);
- echo"</a>";
- }
- ELSEIF (file_exists("images_site\\$filename" ))
- { choose_text_lang("File already exists, please rename your file<br>or delete the one with the same name first","Le fichier existe déjà, veuillez changer son nom<br>ou effacer l'image déjà présente avant",$lang);
- echo "<br><a href=\"javascript:history.go(-1)\">";
- choose_text_lang("Back","Retour",$lang);
- echo"</a>";
- }
- ELSEIF (!$filesize=$_FILES['userfile']['size'])
- {
- choose_text_lang("File empty","Fichier vide",$lang);
- echo "<br><a href=\"javascript:history.go(-1)\">";
- choose_text_lang("Back","Retour",$lang);
- echo"</a>";
- }
- ELSEIF (!in_array($_FILES['userfile']['type'],$imgarray))
- {
- choose_text_lang("File must be a .jpg .jpeg or .gif","Le fichier doit être un .jpg .jpeg ou .gif",$lang);
- echo "<br><a href=\"javascript:history.go(-1)\">";
- choose_text_lang("Back","Retour",$lang);
- echo"</a>";
- }
- ELSE
- {
- $filesize=round($filesize/1024);
- if (move_uploaded_file($_FILES['userfile']['tmp_name'], "chemindestockage\\" . $_FILES['userfile']['name'])) {
- echo "image uploadée<br>";
- echo "<img src=\"images_site\\$filename\"><br>$filename ($filesize Ko)";
- } else {
- choose_text_lang("Error","Erreur",$lang);
- }
|
(fais pas attention aux choose_text_lang() c'est un truc a moi )
j'ai en partie repiqué ce script quelque part sur php.net je crois et en partie modifié un peu, il y'a des vérifications d'erreurs, de taille, d'extension de fichier etc...
après il y'a des fonctions permettant de regarder le contenu d'un dossier et d'afficher les images qu'il y'a dedans... encore une fois j'ai récupéré un script qqpart sur le net et un peu modifié afin de toutes les afficher dans un tableau
(j'avoue ne pas avoir cherché à comprendre comment ça fonctionnait exactement )
Code :
- <table width=95% align=center border="1" cellpadding="0" cellspacing="0"><?
- $tab_row=0;
- while (false !== ($files = readdir($dir))) {
- foreach ($exts as $value) {
- if (CheckExt($files, $value)) {
- $filesize=filesize("images_site\\$files" );
- $filesize=round($filesize/1024);
- IF ($tab_row==0)
- {echo "<tr><td width=50% align=center><img src=\"images_site\\$files\"><br>$files ($filesize Ko)
- <br><a href=main.php?page=pic_delete&pic_target=$files>";
- choose_text_lang("Delete","Effacer",$lang);echo"</a></td>";
- $tab_row=1;}
- ELSE
- {{echo "<td width=50% align=center><img src=\"images_site\\$files\"><br>$files ($filesize Ko)
- <br><a href=main.php?page=pic_delete&pic_target=$files>";
- choose_text_lang("Delete","Effacer",$lang);echo"</a></td></tr>";
- $tab_row=0;}}
- $count++; //Keep track of the total number of files.
- break; //No need to keep looping if we've got a match.
- }
- }
- }
- echo "</table>";
- echo"<br>$count images.";
- //Be a good script and clean up after yourself...
- closedir($dir);
- clearstatcache();
|
Après chaque image peut être effacée avec une commande de type...
Code :
- unlink("images_site\\$pic_target" );
|
Donc bon , c'est peut être pas les meilleurs scripts (ceci dit encore une fois ils ne sont pas originairement de moi) mais a partir de ça , en jouant sur le "count" des images du répertoire tu devrais pouvoir générer des pages différentes, etc...
(tiens maintenant que je regarde le script d'affichage ne ferait pas la différence entre une image ou un autre fichier, faudrait ptet insérer des vérifications à ce niveau là...) Message édité par KaLiS le 11-08-2003 à 10:50:59
|