begin process at 2012 05 30 22:17:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

lecture et affichage de fichiers word


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lecture et affichage de fichiers word

jeudi 27 février 2003 à 09:01:30 | lecture et affichage de fichiers word

dolu007

je dois réaliser un moteur de recherche et lorsque j'affiche la ligne avec le mot cherché les accents et caractère spéciaux sont écris n'importe comment

exemple : recherche du mot navire :

Travers'e9e du navire Am'e9lie dans l'oc'e9an Indien}{cgrid0 , p... ...page}{cgrid0 21 par Glaces rencontr'e9es par le navire le }{icgrid0 Saint-Paul}{cgrid0 , page}{cg...

Merci de me dire comment faire pour résoudre ce problème!!
jeudi 27 février 2003 à 10:33:04 | Re : lecture et affichage de fichiers word

Tortuegeniale


Salut

met tes codes de selection et d'affichage, on peut pas résoudre un pb comme ça lol

++

--> http://www.kame-house.org <--
La plus grosse base de données sur les dessins animés des années 80
Site gratuit et sans pub


-------------------------------
Réponse au message :
-------------------------------

> je dois réaliser un moteur de recherche et lorsque j'affiche la ligne avec le mot cherché les accents et caractère spéciaux sont écris n'importe comment
>
> exemple : recherche du mot navire :
>
> Travers'e9e du navire Am'e9lie dans l'oc'e9an Indien}{cgrid0 , p... ...page}{cgrid0 21 par Glaces rencontr'e9es par le navire le }{icgrid0 Saint-Paul}{cgrid0 , page}{cg...
>
> Merci de me dire comment faire pour résoudre ce problème!!
jeudi 27 février 2003 à 11:12:27 | Re : lecture et affichage de fichiers word

dolu007


voilà le script complet

<?php

//fonction de parcours dans les répertoires
function ListFiles($path){
global $files, $exts, $SERVER_NAME;
$MyDir = opendir($path);
if($MyDir){
while($file=readdir($MyDir)){
if($file[0]==".")continue;
$file="$path/$file";
if(is_file($file)){
//retourne le contenu du fichier si l'occurence entre "" est trouvé
if(strstr($file, ".php") || strstr($file, ".html") || strstr($file, ".doc"))$files[]=$file;
}
else{
ListFiles($file); //nouvel appel de la fonction
}
}
closedir($MyDir);
}
}

//fonction d'affichage du temps de la requete en cours
function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return (((float)$usec + (float)$sec));
}

//la fonction va chercher le nom du titre dans les fichiers HTML seulement
function GiveTitle($filename){
$MyFile = fopen($filename, "r");
$doc = fread($MyFile, filesize($filename));
fclose($MyFile);

if(eregi("<title>(.*)</title>", $doc, $out))return "$out[1]";
else return "[Sans titre]";
}


/****************************************************************************************************************/
/* +------------------------------------+ */
/* | Moteur de recherche - moteur.php | */
/* | par Ludovic Bouet-Leboeuf | */
/* | | */
/* +------------------------------------+ */
/* */
/* Pour utiliser ce script, il vous suffit de placer les noms des repertoires que vous voulez explorer dans le */
/* tableau $data ci dessous. Ensuite, placez le script dans le repertoire de votre choix./* */
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
/****************************************************************************************************************/

$data = array("/home/doc/bouetleb/sommaire/"); //répertoire de la recherche



$start_recherche=getmicrotime();
//remplace < et > par < et > dans la requête
$query=str_replace(array("<", ">"), array("<", ">") , trim(stripslashes($query)));
$re_query=urlencode($query);
//retourne un tableau qui contient les élements de la chaîne séparés par "+" dans la requête
$keywords=explode("+", $query);


//segmentation en mot de la requete
for($i=0; $i < count($keywords); $i++){
//les mots sont mis "néttoyés"
$keywords[$i]=trim($keywords[$i]);
//ajoute un antislash devant tous les caractères de la chaine keywords pour déspécialiser les caractères spéciaux
$keywords[$i]="\W" . preg_quote($keywords[$i], "/") . "\W"; // "\w" permet de dire tout caractère de mot
}

$page=floor($page);//retourne l'entier inférieur du nombre page
if(empty($page))$page=0; //détermine si la variable page est affectée
$files=array(); //création d'un tableau

if(!empty($query))for($i=0; $i < count($data)/*compte le nb de répertoire*/; $i++)
{
//appel de fonction.on liste tous les fichiers du répertoire courant
ListFiles($data[$i]);
}
//création du tableau des résultats de la recherche
$result=array();

//parcours et lecture des fichiers de la recherche
for($i=0; $i < count($files); $i++){
$MyFile = fopen($files[$i], "r");
//la fonction fread lit le fichier $MyFile dans sa totalité
$text=stripslashes(strip_tags(fread($MyFile, filesize($files[$i]))));
fclose($MyFile);//fermeture du fichier

$blnValue=true;
$reg_build=array(); //création du tableau $reg_build
for($k=0; $k < count($keywords); $k++){
$reg_keyword="/$keywords[$k]/i"; //récupération des mots clés
//recherche des mots dans le contenu du fichier $text
if(preg_match($reg_keyword, $text)){
$reg_build[]=$keywords[$k];
}
else{
$blnValue=false;
break;
}
}

if($blnValue){ //si $blnvalue=true on effectue la suite

//retourne une chaîne contenant les caractères de tous les éléments
//du tableau $reg_build dans le même ordre.Les éléments sont séparés par | (ou)
$reg_build="/" . implode("|", $reg_build) . "/i";
$reg_keyword=$reg_build . "i";
//preg_match_all analyse $text pour trouver l'expression $reg_keyword
//et mets les résultats dans le tableau $occurences
preg_match_all($reg_keyword, $text, $occurences);
$result[]=array(0, $files[$i], "");
$pos = 0;
for($j=0; $j < count($occurences[0]); $j++){
//retourne la position numérique de la première occurence de $occurences
//ds la chaîne de caractères $text
$pos = strpos($text, $occurences[0][$j], $pos);
if($pos!==false){
$index=count($result) - 1;
//substr() retourne une portion de string, spécifiée avec le début start et la longeur length.
// à modifier pour afficher toute la ligne
$result[$index][2].=" ..." . substr($text, $pos - 50, $len_keyword + 100) . "... ";
//incrémente $occurences
$pos+=strlen($occurences[0][$j]);
}
}
$result[$index][0]=$j;
//preg_replace() analyse "substr($result[$index][2]" pour trouver
//l'expression $reg_keyword et remplace les résultas par \\
$result[$index][2]=preg_replace($reg_keyword, "<b>\\0</b>", substr($result[$index][2], 0, 300));
}
}
//trie le tableau $result par ordre ascendant en comparant normalement les valeurs
array_multisort($result, SORT_DESC, SORT_REGULAR);
$max_value=$result[0][0];
$how_results = count($result);
$max_page=floor(($how_results - 1) / 10) + 1;


if(empty($query))print "Moteur de recherche";
else print "Résultats de la recherche sur $query";
print "</title></head><body><font face=arial size=2>";
print "<form method=post action=$PHP_SELF><table border=0 cellpadding=5 cellspacing=5 width=100% align=center><tr><td>";

print "<td width=100%><font size=2><br>Rechercher</b> :<br><input type=text name=query value=\"$query\"><input type=submit value=Rechercher>";
print "</font></td></tr></table></form>";

print "<table border=0 cellpadding=1 cellspacing=0 width=100% align=center><tr bgcolor=steelblue><td><font color=white size=2 face=arial>Résultats de la recherche sur <b>\"$query\"</b> - $how_results résultats</font></td><td align=right><font color=white size=2 face=arial>La recherche a pris <b>" . round(getmicrotime() - $start_recherche, 2) . "</b> secondes</font></td></tr></table><br><br>";

if(empty($query)){
print "<dl><dt><b>Introduction</b></dt>";
print "<dd>Ce moteur de recherche utilise le langage de script PHP. Pour effectuer une recherche, le script n'utilise pas de base de données. Il va directement explorer le contenu ";
print "réel de chaques pages.";
print "<dt><b>Opérateurs</b></dt>";
print "<dd>Vous pouvez effectuer une recherche incluant un ou plusieurs <b>ET</b> logique(s) en utilisant le caractère plus (<b>+</b>).<br>Exemple : <b>navire + anglais</b><br><br></dd>";
}
else if($how_results==0){
print "<i>Désolé! Auncun document ne correspond à votre requête! Essayez de mieux cibler votre recherche.</i>";
}
else{

//utilisation d'une feuille de style ce qui est tout nouveau pour moi!!!!
print "<style type=text/css>";
print "A.Moteur{color:black}";
print "A.NavMoteur{color:darkblue;font-size:8pt;font-weight:bold;}";
print "</style>";

if($page > $max_page)$page=$max_page;
print "<dl>";
for($i=$page * 10; $i < $page * 10 + 10 && $i < $how_results; $i++){
print "<dt>" . ($i + 1) . ". <a href={$result[$i][1]}> " . GiveTitle($result[$i][1]) . "</a></dt>";
print "<dd>{$result[$i][2]}<br><font face=arial size=1 color=green>{$result[$i][1]} - " . floor($result[$i][0] / $max_value * 100) . "%</font><br><br></dd>";
}
print "</dl>";

if($max_page > 1){
print "<table border=0 cellpadding=0 cellspacing=8 align=center>";
print "<tr align=center valign=top>";
print "<td>";
if($page > 0)print "<a class=NavMoteur href=$PHP_SELF?query=$re_query&page=" . ($page - 1) . "><br>Précédent</a>";

print "</td>";
for($i=0; $i < $max_page; $i++){
$the_page=$i + 1;
print "<td>";
if($i==$page)print "<br><font color=red><b>$the_page</b></font>";
else print "<a class=Moteur href=$PHP_SELF?query=$re_query&page=$i><br>$the_page</a>";
print "</td>";
}
print "<td>";
if($page < $max_page - 1)print "<a class=NavMoteur href=$PHP_SELF?query=$re_query&page=" . ($page + 1) . "><br>Suivant</a>";

print "</td>";
print "</tr>";
print "</table>";
}
}

print "<br><table border=0 cellpadding=1 cellspacing=0 width=100% align=center><tr bgcolor=steelblue><td> </td></td></table>";
print "</font></body></html>";
?>


-------------------------------
Réponse au message :
-------------------------------

>
> Salut
>
> met tes codes de selection et d'affichage, on peut pas résoudre un pb comme ça lol
>
> ++
>
> --> http://www.kame-house.org <--
> La plus grosse base de données sur les dessins animés des années 80
> Site gratuit et sans pub
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > je dois réaliser un moteur de recherche et lorsque j'affiche la ligne avec le mot cherché les accents et caractère spéciaux sont écris n'importe comment
> >
> > exemple : recherche du mot navire :
> >
> > Travers'e9e du navire Am'e9lie dans l'oc'e9an Indien}{cgrid0 , p... ...page}{cgrid0 21 par Glaces rencontr'e9es par le navire le }{icgrid0 Saint-Paul}{cgrid0 , page}{cg...
> >
> > Merci de me dire comment faire pour résoudre ce problème!!
>


Cette discussion est classée dans : lecture, fichiers, affichage, navire, cgrid0


Répondre à ce message

Sujets en rapport avec ce message

Problème lecture de fichiers excels créés en PHP [ par Hades51 ] Bonjour à tous,Je créé un fichier excel avec la syntaxe suivante ( c'est un exemple ):...$file = fopen("toto.xls","w+");fput($file,"titre1\ttitre2\n") PHP et lecture de fichiers son [ par Ralph29 ] Bjr à tous,Voilà je suis en train de me faire un petit site intranet qui me permet de lister le contenu de ma machine en fichier MP3 (je précise que c [Problème] Lecture de fichiers dans un certain ordre... [ par Nightm4re ] Bonjour à tous,j'utilise les fonction opendir(), puis readdir() afin de lire les fichiers d'un répertoire. Le problème, c'est que tout est lu dans un ordre affichage des fichiers [ par yahou29 ] Bonjour à tous.Je suis actuellement en train de développer un module d'administration de galerie photos.J'aimerai que l'administrateur puisse modifier lecture fichiers [ par alahyaneali ] Bonjourje voudrais faire afficher les fichiers d'un repertoire triésdont le nom est supérieur à im_2432345.jpg et inférieur à im_2432445.jpgen utilisa Affichage de fichiers [ par Zebra1928 ] Bonjour à tous,Encore une autre question sur un site web que l'internaute comment par l'authentification, il y a une possibilité de telechargement de Probleme d'affichage du resultat d'un scan sur 2 colonnes [ par kilian67 ] Salut, j'ai un souci pour l'affichage des résultats d'un script que je souhaiterai affiché sur 2 voir 3 colonnes. Voici le script en question il fon Enlever la 'lecture seule' d'un fichier [ par lowkey ] Salut à tous !Voici mon problème : Avec une fonction, je parcours tous les fichiers d'un dossier. Je souhaiterais supprimer ces fichier avec un unlink Droit d'accès fichiers [ par mailliam ] Bonjour à tous! J'ai un problème avec mes droits d'accès, en effet sur mon site j'ai plusieurs fichiers .php dont j'affiche et colore la source avec php/xml/xslt [ par soolfa ] salut a tous , svp j'ai un ensembles des fichiers .txt .( ces fichiers sont soit enregistrer dans un dossiers ,Soit les fichiers qui ont été ouvert s


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,967 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales