logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
28 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 110 428 686

  • Nb. de membres 8 696
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» [Résolu] - image

[Résolu] - image#12098

6Contributeur(s)
Tribal-DolphinSelennbuzardbuckoimaxelTito
3 Modérateur(s)
developpeurjpbJireck
oim oimicon_post
Slt, avec ca j'arrive à afficher le contenu d'un article : texte + image :

$result = mysql_query("select content from seccont where secid='6'");

comment je peux faire pour qu'il me prenne que l'image jpg qui se trouve dans content ?
Merci !
Tribal-Dolphin Tribal-Dolphinicon_post
Fait un fonction qui détécte les .jpg ou les img src

Tu as ce script qui marche au poil, à adapter selon tes besoins => http://www.nexen.net/scripts/details.php?scripts=108
oim oimicon_post
Il ne marche pas ce code.
Selenn Selennicon_post
ca a le mérite d'être clair :-D
oim oimicon_post
Je sens de l'ironie Selenn...

En fait c'est ligne qui pose problème : preg_match_all("/b([^s]+)s*=s*("|')(.*?)("|')s/", " $image ",

Et la je renonce.
Tribal-Dolphin Tribal-Dolphinicon_post

Citation : oim
Il ne marche pas ce code.



Je dirais plutôt que tu ne sais pas t'en servir car ils en en service sur mon module E-Carte et ça fonctionne au poil.
Comment fait tu appel à cette fonction ?
Tito Titoicon_post
J'ai regardé et j'y suis pas arrivé
oim oimicon_post
Slt tribal, c'est dans quel fichier, je l'ai pas trouvé dans ton module.
Merci !
Tribal-Dolphin Tribal-Dolphinicon_post
admin/ecarte.php et je te poste le bout de code. Ce code évite de passer par le fonction ci dessus, donc moins de chances d'erreur !

<?
 $origin_filename 
trim($upload->getFileName("newcard".$i));
        $ext = strtolower(substr(strrchr($origin_filename, 
"."),1));
        $num = mysql_fetch_row(mysql_query(
"SELECT LAST_INSERT_ID()"));
        $field1_filename = $num
[0].".".$ext;
        
        $FileTemp = $upload
->getTempFile("newcard".$i);
        list($TempWidth, $TempHeight, $MimeType, $attr) = getimagesize(
"$FileTemp");
                
        if ($MimeType == 
"1" || $MimeType == "2" || $MimeType == "3" || $MimeType == "6"{
............................
?>


Selenn Selennicon_post

Citation : oim

Je sens de l'ironie Selenn...




Y'en avait pas du tout ... tu dis "Il ne marche pas ce code" ... bah, ca a le mérite d'être clair ... C'est tout...
oim oimicon_post
Citation : Tribal-Dolphin 

Citation : oim
Il ne marche pas ce code.



Je dirais plutôt que tu ne sais pas t'en servir car ils en en service sur mon module E-Carte et ça fonctionne au poil.
Comment fait tu appel à cette fonction ? 

Je n'arrive pas a comprendre ton script sur ecarte et surtout je ne vois pas ou tu extrais l'image, et le script de nexen bloc sur une ligne qui met envoyé en erreur et l'appel le je le fait avec $content.


                $image2 = preg_replace("/b([^s]+)s*=s*("|')([s]*?)("|')s/", "", " $image ");




   OpenTable();
   echo "<TABLE WIDTH=100% CELLSPACING=2 CELLPADDING=2 BORDER=0><TR><TD CLASS=\"HEADER\">\n";
    $result=mysql_query("select content from seccont where secid='10' ");
    list($content) = mysql_fetch_row($result);
         echo "<tr><TD CLASS=\"HEADER\">$content</td></tr>";
   echo "</TD></TR></TABLE>\n";
   CloseTable();

Tribal-Dolphin Tribal-Dolphinicon_post
Voici comment faire :

tu ajoute cette fonction au sommet du fichier


function img_extractor_string($chaine){
$retour = array();
  while($x = stristr($chaine, "<img")){
  $image = substr($x, 4, strpos($x, ">")-4);
  #print "n";
  $chaine = substr($x, strpos($x, ">"));

  preg_match_all("/b([^s]+)s*=s*("|')(.*?)("|')s/", " $image ",
$attribut);
  $details = arrays2hash($attribut[1], $attribut[3]);
  $details['tag'] = $image;

  $image2 = preg_replace("/b([^s]+)s*=s*("|')([s]*?)("|')s/", "",
" $image ");
  preg_match_all("/b([^s]+)s*=s*([^s]*?)s/", " $image2 ",
$attribut);
  // l'ordre du merge est important : on ecrase les valeurs
trouvees sans guillemets
  // par celle trouvee avec.
  $details = array_merge( arrays2hash($attribut[1], $attribut[2]),
$details);
  array_push($retour, $details);
  }
  return $retour;
}



Ensuite, tu appelle la fonction en envoyant la chaine ou chercher l'image


$imgs = img_extractor_string($content);



En enfin, pour voir le résultat :


print_r($imgs);



Ensuite, tu définis l'image que tu as besoin selon le résultat.
oim oimicon_post
Comme ca c pas bon, c quoi qui ne vas pas ?


<?PHP
if(!isset($mainfile)) { !include!("mainfile.php"); }
global $pdst; $pdst=
"1";

   !include!(
"header.php");

function img_extractor_string($chaine)
{ 
$retour = array();
  while($x = stristr($chaine, 
"<img")){ 
  $image = substr($x, 4, strpos($x, 
">")-4);
  #print 
"n";
  $chaine = substr($x, strpos($x, 
">"));

  preg_match_all(
"/b([^s]+)s*=s*("|')(.*?)("|')s/"" $image ", $attribut);
  $details = arrays2hash($attribut
[1], $attribut[3]);
  $details
['tag'] = $image;

  $image2 = preg_replace(
"/b([^s]+)s*=s*("|')([s]*?)("|')s/"""" $image ");
  preg_match_all(
"/b([^s]+)s*=s*([^s]*?)s/"" $image2 ", $attribut);
  // l'ordre du merge est important : on ecrase les valeurs 
trouvees sans guillemets 
  // par celle trouvee avec.
  $details = array_merge( arrays2hash($attribut
[1], $attribut[2]), $details);
  array_push($retour, $details);
  
} 
  return $retour;
}

   OpenTable();
   echo 
"<TABLE WIDTH=100% CELLSPACING=2 CELLPADDING=2 BORDER=0><TR><TD CLASS=\"HEADER\">\n";
    $result=mysql_query(
"select content from seccont where secid='10' ");
    list($content) = mysql_fetch_row($result);
    $imgs = img_extractor_string($content)
         echo 
"<tr><TD CLASS=\"HEADER\">print_r($imgs);</td></tr>";

     
   echo 
"</TD></TR></TABLE>\n";
   CloseTable();
   !include!(
"footer.php");

?>


Tribal-Dolphin Tribal-Dolphinicon_post
Citation : oim
Comme ca c pas bon, c quoi qui ne vas pas ?


Ben j'en sais rien, c à toi de me dire si ça te va ou pas !!
Je ne sais pas ce que tu veut, je ne vois pas le résultat et surtout, je ne suis pas extralucide :-D
oim oimicon_post
Je veux simplement afficher l'image sans le texte du content. La finalité mettre sur mon index l'image avec un lien qui envoie à l'article mais cette ligne m'est retourne en erreur


  preg_match_all("/b([^s]+)s*=s*("|')(.*?)("|')s/", " $image ", $attribut);



Parse error: parse error, unexpected T_STRING in c:\......php on line 18
buzardbuck buzardbuckicon_post
ya plus simple tu fais une image cliquable avec l'éditeur tu rajoute le lien de "lire la suite...."
regarde sur mon site tu verras :-D
axel axelicon_post
si on mettait ca ds PHP ??
Tribal-Dolphin Tribal-Dolphinicon_post
Tu retire une ligne d'une fonction qui en à 40, comment veut tu que ça marche ?
Garde la fonction et supprime la partie de recherche des attributs.
oim oimicon_post
Je n'ai juste pas mis cette fonction


function img_extractor($url){
$fichier = file($url);
  $chaine = implode("", $fichier);
  return img_extractor_string($chaine);
}


Mais c'est pour accéder à un fichier distant, j'en ai pas besoin ?
oim oimicon_post
En fait j'ai trouvé une façon plus simple, utiliser l'ephemeride par contre il faudrait changer la fonction pour afficher par jour par aléatoire :


function ephemblock() {
   global $gmt;
   $eday=date("d",time()+($gmt*3600));
   $emonth =date("m",time()+($gmt*3600));
   $result = mysql_query("select yid, content from ephem where did='$eday' AND mid='$emonth' order by yid ASC");
   while (list($yid, $content) = mysql_fetch_array($result)) {
      if ($cnt==1)
         $boxstuff .= "<br /><br />";
         $boxstuff .= aff_langue($content);
         $cnt = 1;
   }