Quel fichier modifier pour changer icône du site php

Petit nouveau ! | 9 Messages

26 mars 2012, 15:14

Bonjour,

je suis plus que débutante et je suis face à un problème.
Je dois tenir à jour un site crée en php, je dois changer des icônes
Quel fichier je dois modifier pour faire pointer vers l'image que je souhaite.
si le fichier est un pdf je dois mettre l'icône pdf, si word icône word etc...

j'espère avoir été clair dans mes explications.
Merci d'avance à tous
Cordialement

ViPHP
xTG
ViPHP | 7331 Messages

26 mars 2012, 15:47

Euh bah... Cela dépend du code du site. ^^
Ce n'est ni magique, ni universel.

Petit nouveau ! | 9 Messages

26 mars 2012, 17:08

Tous les fichiers sources sont en php.
a l'affichage c'est du html

ViPHP
xTG
ViPHP | 7331 Messages

26 mars 2012, 20:17

Non ce que je veux dire c'est que cela dépend du contenu de tes pages...
C'est comme nous présenter une voiture en nous disant comment remplacer telle pièce mais sans avoir de connaissance sur la dite voiture, ne pas avoir le droit à une documentation et encore moins d'ouvrir le capot.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

26 mars 2012, 21:11

En Français dans le texte : merci de nous montrer ton code. ;)

Petit nouveau ! | 9 Messages

27 mars 2012, 09:23

Pour VIPHP si je post dans php debutant c'est bien parce que je comprends pas face a quel problème je suis et par ou commencer .
Bref,,,
Merci albat! donc en francais ca veut dire que je suis face à ceci:

dans le fichier upload :
$res_copy = true;
	if(!empty($HTTP_POST_FILES['fic_info']['name']))
	{
		$dossier_destination="fichier";

		if($dossier_destination=="" || !is_dir($dossier_destination))
		{
			echo "<h3>dossier de destination non renseigné ou inexistant</h3>";
			exit();
etc...

ya aussi le fichier defines.inc.php avec
DEFINE("PATH_IMAGES", WEBROOT."/images/");		// chemin des images
Merci.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

27 mars 2012, 10:11

L'extrait que tu nous présentes est pour le moins bizarre, voire incompréhensible :

Déjà, on n'utilise plus la superglobale $HTTP_POST_FILES mais $_FILES
:arrow: http://php.net/manual/fr/reserved.varia ... POST_FILES['fic_info']['name']))[/php]

Ensuite, tu attribues à ta variable $dossier_destination la valeur "fichier".
Le test suivant est donc totalement inutile :
if($dossier_destination=="" || !is_dir($dossier_destination))
Sous cette forme, en tout cas.

Je pense qu'il faudrait que tu nous montres plus de code que cet extrait
parce que là, j'ai un peu de mal à bien comprendre ton script. :?

Petit nouveau ! | 9 Messages

27 mars 2012, 16:32

Après avoir chercher à comprendre j'ai trouvé la partie du fichier qui me pose problème
il pointe toujours vers la même image
ce que je souhaite
si c'est un exercice format pdf un icône pdf
si excel icone excel

function Exercice_Creation($dom) //Cree la liste des exercices
{

foreach($dom as $sous_dom=>$exercice)
{
$html .= "<div id=\"titre2\"><h2>$sous_dom</h2></div>"; //Affiche le nom du sous domaine
$html .= "<ul>";
foreach($exercice as $item) //Affiche tout les exercices D'abord visualiser, ensuite telecharger.
{
$html.="<div id=\"News_exe\">
<table>
<tr>
<td width='400px'>
<a target='_blank' href='".$item["lien"]."'>".$item["lib"]."</a>
</td>
<td width='20px'>
<a target='_blank' href='".$item["telecharger"]."'><img src='./images/download.gif' title='Telecharger' style='border-color:white'/></a>
</td>
</tr>
</table>
</div>";
}
$html .= "</ul><br>";
$html .="<br>";
}

return $html;

Merci d'avance.

ViPHP
xTG
ViPHP | 7331 Messages

27 mars 2012, 16:40

Ah bah là on a matière à te guider. :)
Cette ligne donc :

Code : Tout sélectionner

<a target='_blank' href='".$item["telecharger"]."'><img src='./images/download.gif' title='Telecharger' style='border-color:white'/></a>
Le principe pour résoudre ton problème serait d'identifier l'extension, le chemin du fichier se trouve dans $item['telecharger'].
Avec la fonction explode() tu peux créer un array à partir d'une chaîne de caractères coupée sur un élément. Le but ici est de couper avec le point qui marque l'extension.
De ce fait :
$chemin_fichier = '/dossier/mon.fichier.pdf';
$tab = explode('.',$chemin_fichier);
$extension = $tab[count($tab) - 1];
On obtient l'extension (count nous sert pour obtenir la taille du tableau - notre extension étant dans la dernière case - et le (-1) est là car un tableau commence à l'index 0).

Ensuite il faut afficher l'image en fonction de l'extension :
if( $extension === "pdf" )
  echo '<img src="./images/download-pdf.gif" title="Telecharger" style="border-color:white"/>'; // .pdf
else if( $extension === "doc" || $extension === "docx" )
  echo '<img src="./images/download-doc.gif" title="Telecharger" style="border-color:white"/>'; // .doc OU .docx
else
  echo '<img src="./images/download.gif" title="Telecharger" style="border-color:white"/>'; // extension non connue on affiche une image par défaut
Voilà le principe. :)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

27 mars 2012, 17:00

ou, plus élégant et facile à maintenir :
<?php
switch ($extension)
       { case 'pdf'  : $image='download-pdf.gif'; break;
         case 'doc'  : 
         case 'docx' : $image='download-doc.gif'; break;
         default     : $image='download.gif'; break;
       }
?>
<img src="./images/<?php echo $image; ?>" title="Telecharger" style="border-color:white"/>

Petit nouveau ! | 9 Messages

27 mars 2012, 17:55

ok je commence a saisir,
si j'opte pour la deuxième solution,( 1ere solution je la garde de côté en attendant de comprendre les compteurs)
je dois créer une nouvelle fonction pour y définir la variable $extension ou est ce que je l'intègre directement au code.

je vois pas trop ou définir l'extension
désolé pour le niveau,,,

ViPHP
xTG
ViPHP | 7331 Messages

27 mars 2012, 20:43

Tu peux faire en effet une fonction qui prend en paramètre le chemin du fichier et qui renvoie l'extension. :)

Petit nouveau ! | 9 Messages

28 mars 2012, 10:07

dons au final j'obtiens cela mais ca fonctionne pas ??
function Exercice_Creation($dom) //Cree la liste des exercices
{

foreach($dom as $sous_dom=>$exercice)
{
$html .= "<div id=\"titre2\"><h2>$sous_dom</h2></div>"; //Affiche le nom du sous domaine
$html .= "<ul>";
foreach($exercice as $item) //Affiche tout les exercices D'abord visualiser, ensuite telecharger.
{
$html.="<div id=\"News_exe\">
<table>
<tr>
<td width='400px'>
<a target='_blank' href='".$item["lien"]."'>".$item["lib"]."</a>
</td>
<td width='20px'>

<a target='_blank' href='".$item["telecharger"]."'><img src='./images/download.gif' title='Telecharger' style='border-color:white'/></a>

switch ($extension)
          { case 'pdf'  : $image='download-pdf.gif'; break;
            case 'doc' : $image='download-doc.gif'; break;
            default     : $image='download.gif'; break;
           }
<img src="./images/<?php echo $image; ?>" title="Telecharger" style="border-color:white"/>
</td>
</tr>
</table>
</div>";
}
$html .= "</ul><br>";

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

28 mars 2012, 11:16

J'ai édité ton message pour encadrer ton code entre les balises [ php ]
La coloration syntaxique devrait t'aider... ;)

Petit nouveau ! | 9 Messages

29 mars 2012, 10:15

Voici l'array que j'ai crée

"lien" => "./section/news_exe/domaine/exercice.pdf",
"target" => "",
"onclick" => "",
"lib" => "sous domaine",
"telecharger" => "./section/news_exe/domaine/exercice.pdf",

... Le but ici est de couper avec le point qui marque l'extension. Peux-tu me réexpliquer stp cette partie de ton explication

$chemin_fichier = '/dossier/mon.fichier.pdf';
$tab = explode('.',$chemin_fichier);
$extension = $tab[count($tab) - 1];

Merci

Merci