Base de fichier et non base de données

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 : Base de fichier et non base de données

par 2501gigi » 24 oct. 2006, 15:21

C'est cool j'est reussi en faite il fallait faire un savant melange des deux fonction que ryle ma donné.

addslashes() et str_replace()


merci a tous.

par 2501gigi » 24 oct. 2006, 11:11

Salut ryle comment va tu?

Bon en faite c'est quand j'envois mon texte de la page de l'editeur vers la page de resultat il me met un truc comme sa:

Erreur de syntaxe près de 'est classe comme image[/ctr] Bon c est pas tout mais il faut ' à la ligne 1

Je comprend pas

par Ryle » 24 oct. 2006, 10:15

La fonction str_replace prend 3 arguments : ce que tu recherches, ce par quoi tu le remplaces, et enfin à l'intérieur de quoi tu fais tout ça.

Ce que tu veux remplacer ce sont les apostrophes : '
Apparement, tu veux les protéger pas un antislash et donc obtenir : \'
Tout ça à l'intérieur de ta variable $txt
$txt = str_replace("'", "\'", $txt); 

par 2501gigi » 23 oct. 2006, 19:09

Ok ryle je ferait sa pour le résolu mais avant je vait quand meme essaye de resoudre le probleme du (')

C'est a dire que je doit faire ceci:

$txt = str_replace();

Mais par contre je vois pas se qui faut mettre dedans enfin je me doute
qu'il faut mettre je que je dois remplace et c'est (') mais pour le remplacer par la meme chose en faite je vois pas bien.

par Ryle » 23 oct. 2006, 18:01

Ppas besoin de tout remplacer, fait juste le str_replace une fois avant d'enchainer tes preg :)

Pour le résolu ça devait être toi (ou bienveillant modo ;)), moi je peux pas le faire.. mais rien ne t'empêche de mettre Résolu ici et d'ouvrir un autre topic plus tard si tu as une autre question... ca permet à ceux qui ont le même problème de trouver une solution plus facilement :)

par 2501gigi » 23 oct. 2006, 17:51

je sais pas si c'est toi ou moi qu'y a mis resolu je l'ai enlever car j'aurais d'autres questions plus tard,bon si je n'ai pas autre questions je metté resolu.

Bon pour l'apostrophe il faut que je remplace tout mes preg_replace par
str_replace.

par Ryle » 23 oct. 2006, 17:15

Y a pas de quoi :)

Pour tes apostrophes regarde du côté des fonctions addslashes() ou str_replace() ;)

par 2501gigi » 23 oct. 2006, 17:01

J'ai trouver mon erreur et l'image s'affiche bien merci a tous et surtout a ryle.

Ma question sur l'apostrophe tient toujours.

Merci

par 2501gigi » 23 oct. 2006, 16:41

Merci ryle ,


J'ai editer mon message car l'image ne s'affiche toujours pas dans le code source sa me met sa:

Code : Tout sélectionner

<img src="admin/photosbien.BrickWall.jpg">


Par contre je viend aussi de m'apercevoir que quand j'ecris mon texte dans la textarea et qu'il contient un(') apostrophe mot code ne marche plus.

Comment sa se fait.
Moi perso je pense que c'est le php qui prend ca pour un truc a lui.
C'est dur a dire en faite.

Comment remedier a ca svp?
Il faut que je rmplace (') par \'?

par Ryle » 23 oct. 2006, 16:27

Le mieux et le plus simple c'est de partir du html que tu veux obtenir en sortie :

Code : Tout sélectionner

<img src="admin/photosbien/BrickWall.jpg">
(j'ai viré les infos sur height et width, vu que cela dépend de chaque image et ca évite de la déformer)

Pour obtenir ce résultat, il suffit en php de faire :
echo "<img src=\"admin/photosbien/BrickWall.jpg\">";
La dedans, ce qui va changer c'est le chemin de l'image
echo "<img src=\"admin/$variable\">";
(en supposant que ta variable contienne "photosbien/BrickWall.jpg")

Dans ton expression régulière, ca devient ainsi :
$txt =  preg_replace("!\[img\](.+)\[/img\]!isU" ,  "<img src=\"admin/$1\">", $txt); 
Il ne te reste plus qu'à ajuster le chemin "admin/" pour que celui-ci ajouté à la valeur capturée par la parenthèse corresponde au chemin final de ton image :)

par 2501gigi » 23 oct. 2006, 16:11

Bon vous allez me prendre pour un naze mais je ne trouve pas j'ai essayer plusieurs chose mais sa ne marche pas je suis sur que je tourne autour du pot il doit me manqué un point, un slash un truc comme sa mais je n'arrive pas a mettre la main dessus.

Néanmoins je continu à cherche mais une indiquation ou un coup de pousse serait le bienvenu.

Merci.

par 2501gigi » 23 oct. 2006, 15:38

il a etait remplacer par ca:

Code : Tout sélectionner

<img src="./photosbien/.BrickWall.jpg/>
et sa devrais etre un truc dans se genre

Code : Tout sélectionner

<img src="admin/photosbien/BrickWall.jpg" width="1024" height="806">
C'est sa ou je me trompe?

par Ryle » 23 oct. 2006, 15:25

Regarde le code source de ta page pour voir concrètement par quoi ton code a été remplacé.. Tu verras qu'il te manque quelque chose dans ta balise image pour que sa syntaxe soit correcte :)

par 2501gigi » 23 oct. 2006, 15:17

Pour remplacer mon image j'ai mis se code mais sa ne marche pas:

Code : Tout sélectionner

$txt = preg_replace("!\[img\](.+)\[/img\]!isU" , "<img src=\"$1/>", $txt);
Voici le code qu'il doit remplacer:

Code : Tout sélectionner

echo "<script>window.opener.AddText('[img]','$content_dir.$nomFichier','[/img]'); self.close();</script>"; // ferme la popup
Cela m'affiche un petit rectangle avec une croix rouge

quelqu'un a une idee.

par 2501gigi » 23 oct. 2006, 12:07

Merci ryle j'ai trouver mon erreur grace a toi.

J'ai change j'ai mis sa:

Code : Tout sélectionner

$content_dir = './photosbien/' ; if(move_uploaded_file($nomTemporaire,$content_dir.$nomFichier)) echo("<br>l'upload a réussi")
La virgule et parti, ca m'enregistre le fichier ou je veut on va voir pour le close,mais j'ai oublier un truc important il faut que sa aparaisse dans ma textarea

Merci pour le close c'est la que je voulais le place mais j'en etait pas vraiment sur.