petit soucis d'Url Rewriting

petit soucis d'Url Rewriting - PHP - Programmation

Marsh Posté le 17-08-2007 à 10:30:09    

bonjour bonjour les gens,
 
 
j'ai une chaine du type http://img.borkmadjai.com/dir1/dir2/test.php
je veux viré /test.php et garder http://img.borkmadjai.com/dir1/dir2
 
mais je vois pas quel fonction utilisé et je trouve pas sur le net
 
 
est-ce que qq aurais une idée ?
 
 
merci


Message édité par eeeinstein le 22-08-2007 à 12:06:33
Reply

Marsh Posté le 17-08-2007 à 10:30:09   

Reply

Marsh Posté le 17-08-2007 à 13:58:35    

Bonjour,
 
Voir fonction 'dirname()'.


Message édité par jeca le 17-08-2007 à 13:59:04
Reply

Marsh Posté le 17-08-2007 à 14:58:04    

yes, merci bien...
 
maintenant j'ai un autre soucis..
 
j'ai une boucle while qui me scan des images et les affiches toutes quand je le veux,
 
je veux faire avec cette boucle une variable qui contienne $var=array($img1, $img2, $img3,....) mais je vois pas trop comment l'implémenter..  
 
si qq à une idée...

Reply

Marsh Posté le 17-08-2007 à 15:03:57    

Code :
  1. <?php
  2. $dossier = opendir('.');
  3. $var = array();
  4. while(($fichier = readdir($dossier)) !== FALSE) {
  5. $var[] = $fichier;
  6. }
  7. closedir($dossier);
  8. ?>

Message cité 1 fois
Message édité par WiiDS le 17-08-2007 à 15:07:52

---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 17-08-2007 à 15:06:18    

WiiDS a écrit :

Code :
  1. <?php
  2. $dossier = opendir('.');
  3. $var = array();
  4. while(($fichier = readdir($dossier) !== FALSE) {
  5. $var[] = $fichier;
  6. }
  7. closedir('.');
  8. ?>



j'aurais grosso modo fait ca mais
closedir prend un handle en parametre (donc $dossier dans notre cas)  
il manque une parenthese dans la condition du while
il n'y a pas une methode append ou quelque chose comme ca sur Array en PHP ?


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 17-08-2007 à 15:07:45    

zapan666 a écrit :


j'aurais grosso modo fait ca mais
closedir prend un handle en parametre (donc $dossier dans notre cas)  
il manque une parenthese dans la condition du while
il n'y a pas une methode append ou quelque chose comme ca sur Array en PHP ?


Corrigé


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 17-08-2007 à 15:29:46    

résultat du random
 
http://img.borkmadjai.com/index/

Reply

Marsh Posté le 22-08-2007 à 12:02:38    

re-hello les gens !

 

alors problème du jour.. :p :

 

je suis en train de mettre en place un url rewriting, le soucis que j'ai, c'est que je veux faire un url rewriting pour rediriger cette adresse:

Code :
  1. http://img.borkmadjai.com/min.php? [...] 5e5832.jpg

en

Code :
  1. http://img.borkmadjai.com/tb-img.b [...] 5e5832.jpg
 

pour ça c'est bon cela fonctionne, mais en faites, les extensions de fichier image varie, et donc je cherche un moyen de faire un regex pour ne pas avoir à mettre 1500 lignes d'url rewriting avec toute les extension..

 

mais je trouve pas en fait.. :(

 

j'ai essayer ça :

Code :
  1. RewriteRule ^tb-img.([0-9a-z]+)[.jpg|.gif|.png]$  /min.php?pic=img/$1[.jpg|.gif.png]  [L]
 

il me faudrait un truc du genre :

Code :
  1. RewriteRule ^tb-img.([0-9a-z]+)[.extension]$  /min.php?pic=img/$1[.extension]  [L]


mais cela ne fonctionne pas...

 


est-ce qu'il y a un moyen de lui faire faire ce genre de truc ?

 

Merci de votre aide..

Message cité 1 fois
Message édité par eeeinstein le 22-08-2007 à 12:05:46
Reply

Marsh Posté le 22-08-2007 à 12:06:43    

eeeinstein a écrit :

Code :
  1. RewriteRule ^tb-img.([0-9a-z]+)[.jpg|.gif|.png]$  /min.php?pic=img/$1[.jpg|.gif.png]  [L]



Code :
  1. RewriteRule ^tb-img.([0-9a-z]+)(.jpg|.gif|.png)$  /min.php?pic=img/$1$2  [L]


ou un truc comme ça non ? (à vérifier avec le bon outil de regex qui va bien...)

Message cité 1 fois
Message édité par zapan666 le 22-08-2007 à 12:06:52

---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 22-08-2007 à 12:10:19    

zapan666 a écrit :


Code :
  1. RewriteRule ^tb-img.([0-9a-z]+)(.jpg|.gif|.png)$  /min.php?pic=img/$1$2  [L]


ou un truc comme ça non ? (à vérifier avec le bon outil de regex qui va bien...)


 
Yes !! ça work...
 
y'as pas moyens de lui faire détecter tous seul l'extension de départ ?

Reply

Marsh Posté le 22-08-2007 à 12:10:19   

Reply

Marsh Posté le 22-08-2007 à 12:15:20    

tu remplace (.jpg|.gif|.png) par (.[0-9a-z]{3}) ça devrait le faire (normalement, ça chope quelque chose comme .aaa
 
. = pour choper le point
[0-9a-z] = pour choper une lettre, ou un chiffre
{3} = pour dire qu'on en veut 3 à la suite
 
 
(c'est à vérifier)


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 22-08-2007 à 12:17:29    

zapan666 a écrit :

tu remplace (.jpg|.gif|.png) par (.[0-9a-z]{3}) ça devrait le faire (normalement, ça chope quelque chose comme .aaa
 
. = pour choper le point
[0-9a-z] = pour choper une lettre, ou un chiffre
{3} = pour dire qu'on en veut 3 à la suite
 
 
(c'est à vérifier)


 
ok merci...
 
ps:faut vraiment que je regarde les regex de plus près....

Reply

Marsh Posté le 22-08-2007 à 13:42:38    

tu es sur que le point entre () à besoin d'être échappé car ça fonctionne sans actuellement.. ?

 

et je n'es pas de jpeg, car je les renome en jpg


Message édité par eeeinstein le 22-08-2007 à 13:42:59
Reply

Marsh Posté le 12-10-2007 à 15:58:28    

Je réutilise ce sujet pour une autre question de Rewriterule, un peu farfelue le l'accorde...
 
actuellement sur mon site j'ai une page qu'on va appeler "page.php" et dessus, plusieurs paragraphes qui sont actuellement différenciés par une ancre (donc ca fait les liens du style "page.php#paragraphe1". Seulement là je vais changer toute cette page et chaque paragraphe aura sa propre page "paragraphe1.php". Le problème c'est que ces paragraphes sont appelés vraiment partout dans mon site et donc il faudrait changer tous les liens sur le site ce qui est vraiment un travail colossal et qui plus est, je perdrais mon référencement...
 
Je me suis donc dit que c'est quelque chose qu'on pourrait faire avec l'url rewriting. j'ai donc supprimé "page.php" du serveur et tapé ça :
RewriteRule ^page.php\#(.*)$ $1.php [L]
Seulement voilà, ça ne fonctionne pas, il va sur une erreur 404
 
Ma question : est-il possible de faire fonctionner le RewriteRule sur une ancre, si oui, comment ? Je sais que le caractère # représente le commentaire dans le .htaccess, donc peut-être que ce n'est pas \# qu'il faut mettre dans ma ligne mais autre chose.
 
Merci d'avance à celui qui trouvera une solution :hello:  
 
Je tiens à dire que je ne souhaite pas à tout prix utiliser le rewriterule, si vous connaissez une autre méthode je suis preneur aussi.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed