Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2654 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] création automatique de pages

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] création automatique de pages

n°483064
nofx59
Posté le 11-08-2003 à 09:50:25  profilanswer
 

Pour la réalisation d'un site, je vais devoir créer une partie uniquement accessible au webmaster afin qu'il puisse y gérer les données de son site.
Je compte donc créer une page non visible du site lui même, et de cette page, pouvoir avoir accès a des fonctions genre:
- mettre un ajout de photo automatique, où il s'agira de chercher la photo via un explorateur sur le HDD, et celle ci s'ajoutera automatiquement à la page. Si la page contient plus de 40 photos par exemple, alors il faudra en créer une nouvelle sur le même modèle et ainsi de suite. Bien sur, comme une nouvelle page est crée, les liens de la page sommaire devront prendre en compte que la dernière page a changé.
 
Est ce que cela est réalisable?, si oui pouvez vous m'aider un peu en m'indiquant comment. Est une bonne approche de mon problème ou voyez vous une meilleure méthode.
 
Merci d'avance :)


Message édité par nofx59 le 11-08-2003 à 09:51:53
mood
Publicité
Posté le 11-08-2003 à 09:50:25  profilanswer
 

n°483151
KaLiS
Seregmegilmor
Posté le 11-08-2003 à 10:49:06  profilanswer
 

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 :
  1. <form enctype="multipart/form-data" action="sendpic.php" method="post">
  2. <input name="userfile" type="file">
  3. <input type="submit" value="Envoyer">
  4. </form>


 
qui envoie ça a une deuxième page ou tu utiliseras qqchose comme ça pour stocker l'image...
 

Code :
  1. $imgarray = array("image/pjpeg", "image/jpeg", "image/gif" );
  2. $filename=$_FILES['userfile']['name'];
  3. IF ($_FILES['userfile']['error']!=0)
  4. {  choose_text_lang("An error has happened, please try again","Une erreur est arrivée, veuillez réessayer",$lang);
  5.  echo "<br><a href=\"javascript:history.go(-1)\">";
  6.  choose_text_lang("Back","Retour",$lang);
  7.  echo"</a>";
  8. }
  9. ELSEIF (file_exists("images_site\\$filename" ))
  10. {  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);
  11.  echo "<br><a href=\"javascript:history.go(-1)\">";
  12.  choose_text_lang("Back","Retour",$lang);
  13.  echo"</a>";
  14. }
  15. ELSEIF (!$filesize=$_FILES['userfile']['size'])
  16. {
  17. choose_text_lang("File empty","Fichier vide",$lang);
  18.  echo "<br><a href=\"javascript:history.go(-1)\">";
  19.  choose_text_lang("Back","Retour",$lang);
  20.  echo"</a>";
  21. }
  22. ELSEIF (!in_array($_FILES['userfile']['type'],$imgarray))
  23. {
  24. choose_text_lang("File must be a .jpg .jpeg or .gif","Le fichier doit être un .jpg .jpeg ou .gif",$lang);
  25.  echo "<br><a href=\"javascript:history.go(-1)\">";
  26.  choose_text_lang("Back","Retour",$lang);
  27.  echo"</a>";
  28. }
  29. ELSE
  30. {
  31. $filesize=round($filesize/1024);
  32. if (move_uploaded_file($_FILES['userfile']['tmp_name'], "chemindestockage\\" . $_FILES['userfile']['name'])) {
  33. echo "image uploadée<br>";
  34. echo "<img src=\"images_site\\$filename\"><br>$filename ($filesize Ko)";
  35. } else {
  36. choose_text_lang("Error","Erreur",$lang);
  37. }


 
(fais pas attention aux choose_text_lang() c'est un truc a moi http://llc-compagny.serveftp.net/pub/sm/KaLiS/grindrop.gif)
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 http://llc-compagny.serveftp.net/pub/sm/KaLiS/grindrop.gif)
 

Code :
  1. <table width=95% align=center border="1" cellpadding="0" cellspacing="0"><?
  2. $tab_row=0;
  3. while (false !== ($files = readdir($dir))) {
  4. foreach ($exts as $value) {
  5. if (CheckExt($files, $value)) {
  6. $filesize=filesize("images_site\\$files" );
  7. $filesize=round($filesize/1024);
  8. IF ($tab_row==0)
  9. {echo "<tr><td width=50% align=center><img src=\"images_site\\$files\"><br>$files ($filesize Ko)
  10. <br><a href=main.php?page=pic_delete&pic_target=$files>";
  11. choose_text_lang("Delete","Effacer",$lang);echo"</a></td>";
  12. $tab_row=1;}
  13. ELSE
  14. {{echo "<td width=50% align=center><img src=\"images_site\\$files\"><br>$files ($filesize Ko)
  15. <br><a href=main.php?page=pic_delete&pic_target=$files>";
  16. choose_text_lang("Delete","Effacer",$lang);echo"</a></td></tr>";
  17. $tab_row=0;}}
  18. $count++; //Keep track of the total number of files.
  19. break; //No need to keep looping if we've got a match.
  20. }
  21. }
  22. }
  23. echo "</table>";
  24. echo"<br>$count images.";
  25. //Be a good script and clean up after yourself...
  26. closedir($dir);
  27. clearstatcache();


 
Après chaque image peut être effacée avec une commande de type...
 

Code :
  1. 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
n°483162
rufo
Pas me confondre avec Lycos!
Posté le 11-08-2003 à 10:58:08  profilanswer
 

nofx59 a écrit :

Pour la réalisation d'un site, je vais devoir créer une partie uniquement accessible au webmaster afin qu'il puisse y gérer les données de son site.
Je compte donc créer une page non visible du site lui même, et de cette page, pouvoir avoir accès a des fonctions genre:
- mettre un ajout de photo automatique, où il s'agira de chercher la photo via un explorateur sur le HDD, et celle ci s'ajoutera automatiquement à la page. Si la page contient plus de 40 photos par exemple, alors il faudra en créer une nouvelle sur le même modèle et ainsi de suite. Bien sur, comme une nouvelle page est crée, les liens de la page sommaire devront prendre en compte que la dernière page a changé.
 
Est ce que cela est réalisable?, si oui pouvez vous m'aider un peu en m'indiquant comment. Est une bonne approche de mon problème ou voyez vous une meilleure méthode.
 
Merci d'avance :)


 
Moi, j'avais dû créer avec un copain un outil permettant de gérer une revue en ligne : les auteurs soumettaient leurs articles via le site web (et les lecteurs les lisaient via ce même site) et le directeur de la revue avait un outil d'administration permettant de paramètrer l'interface graphique du site (système de claques), générer le fichier CSS, gérer le workflow de relecture des articles soumis, composer un nouveau numéro de la revue (mise en page du sommaire), mettre en ligne un numéro, archiver un numéro (le retirer du site), rendre payant un numéro, etc.
 
Donc, le mieux, c'est que tu crées 2 sites : un site d'aministartion protégé par mot de passe dans lesquel tu mettras toutes les fonctions nécessaires à l'administrateur pour composer le site web ET le site web proprement dit. Par ailleur, tu devrais peut-être utiliser une BD pour gérer ton site (mais bon, je sais pas quelles infos tu veux gérer...).

n°483407
nofx59
Posté le 11-08-2003 à 14:15:34  profilanswer
 


 
Merci beaucoup KaLiS, je viens de parcourir tout ca, je ne l'ai pas encore utilisé mais ca semble correspondre à ce que je voulais.
trop cool!  :jap:

n°483414
nofx59
Posté le 11-08-2003 à 14:17:29  profilanswer
 

rufo a écrit :


 
Moi, j'avais dû créer avec un copain un outil permettant de gérer une revue en ligne : les auteurs soumettaient leurs articles via le site web (et les lecteurs les lisaient via ce même site) et le directeur de la revue avait un outil d'administration permettant de paramètrer l'interface graphique du site (système de claques), générer le fichier CSS, gérer le workflow de relecture des articles soumis, composer un nouveau numéro de la revue (mise en page du sommaire), mettre en ligne un numéro, archiver un numéro (le retirer du site), rendre payant un numéro, etc.
 
Donc, le mieux, c'est que tu crées 2 sites : un site d'aministartion protégé par mot de passe dans lesquel tu mettras toutes les fonctions nécessaires à l'administrateur pour composer le site web ET le site web proprement dit. Par ailleur, tu devrais peut-être utiliser une BD pour gérer ton site (mais bon, je sais pas quelles infos tu veux gérer...).


 
pour le stockage des données, je vais effectivement utiliser une bdd : MySQL.
Sinon, l'avantage des séparer en 2 le site est-il juste par soucis de sécurité du site?

n°483559
rufo
Pas me confondre avec Lycos!
Posté le 11-08-2003 à 15:11:30  profilanswer
 

nofx59 a écrit :


 
pour le stockage des données, je vais effectivement utiliser une bdd : MySQL.
Sinon, l'avantage des séparer en 2 le site est-il juste par soucis de sécurité du site?


 
"séparer en 2", ça dépend du point de vue : c'était la même adresse http (www.monsite.fr) mais après, y'avait un répoertoire pour chacun des 2 sites (www.monsite.fr/admin/ et www.monsite.fr/revue/).
 
Je pense qu'au niveau architecture, c'est plus clair et au niveau sécurité, ça a peut-être des avantages... Je suis aps assez expert pour te répondre.

n°483569
nofx59
Posté le 11-08-2003 à 15:14:46  profilanswer
 

rufo a écrit :


 
"séparer en 2", ça dépend du point de vue : c'était la même adresse http (www.monsite.fr) mais après, y'avait un répoertoire pour chacun des 2 sites (www.monsite.fr/admin/ et www.monsite.fr/revue/).
 
Je pense qu'au niveau architecture, c'est plus clair et au niveau sécurité, ça a peut-être des avantages... Je suis aps assez expert pour te répondre.


 
 :) je comptais procéder comme tel, c'est ce que j'appellais de manière abusive un "intranet caché": la gestion du site non visible par les utilisateurs.

n°483586
rufo
Pas me confondre avec Lycos!
Posté le 11-08-2003 à 15:19:26  profilanswer
 

nofx59 a écrit :


 
 :) je comptais procéder comme tel, c'est ce que j'appellais de manière abusive un "intranet caché": la gestion du site non visible par les utilisateurs.


 
Ah? Alors ok...:)

n°483842
KaLiS
Seregmegilmor
Posté le 11-08-2003 à 17:44:19  profilanswer
 

nofx59 a écrit :


Merci beaucoup KaLiS, je viens de parcourir tout ca, je ne l'ai pas encore utilisé mais ca semble correspondre à ce que je voulais.
trop cool!  :jap:  


 
No problemo :)
 
Sinon oui, je confirme qu'IMHO faire la partie admin dans un sous répertoire avec un .htaccess limitant les accès serait une des solutions avec le meilleur rapport sécurité/complexité


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] création automatique de pages

 

Sujets relatifs
[PHP/SGDB] Lancer un script à un interval régulièrementCréation d'un cookie
[PHP] Mes sessions chez ovh coupent tout le temps !!![newbies en PHP] problème de base (mais qui m'énerve!)
[PHP] Amélioration de script (each() ?)Création d'un .jar
statistique viste de site : PHP - MySQL - ApacheEquivalent de MODULO en PHP ?
[Python] Session comme en PHP[PHP] - traitement d'un fichier XML [marche presque] cry
Plus de sujets relatifs à : [PHP] création automatique de pages


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR