Question probablement bête mais...

Eléphant du PHP | 64 Messages

08 nov. 2005, 22:57

Bonjour,

Peut-on afficher un fichier word (.doc) de la même façon qu'un fichier jpg, c'est-à-dire en donnant uniquement le chemin dans la base de donnée. Sinon, est-ce qu je dois faire un copier coler du fichier dans ma base?

Merci

Alain

Mammouth du PHP | 19672 Messages

08 nov. 2005, 23:04

Ta question n'est pas très claire: le .doc n'est pas un format web et ne peut donc pas s'afficher directement dans un navigateur sauf IE sous Windows et à condition d'avoir la suite offide installéeparce que ça va utiliser MS_Word pour l'afficher... :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

09 nov. 2005, 02:16

Ta question n'est pas très claire: le .doc n'est pas un format web et ne peut donc pas s'afficher directement dans un navigateur sauf IE sous Windows et à condition d'avoir la suite offide installéeparce que ça va utiliser MS_Word pour l'afficher... :-k
Pour tenter d'être plus claire, lorsque je veux afficher une image dans ma page, par exemple photo.php j'écris:
<?php 
// conexxion à la base de données
require("connexion.php"); 
require_once("cotedroit.php");

// création de la requête photo
$sql_ph = "SELECT id_evenement,description ,titre , photo FROM album  WHERE (id_photo = $id_photo) ";

// Exécution de la requête SQL
$resultat_ph = mysql_query($sql_ph)  ;


// Récupération des valeurs pour photo
$row = mysql_fetch_assoc( $resultat_ph);
$id_evenement = $row[ 'id_evenement'] ;
$photo= $row['photo'];
$description = $row['description'];
$titre = $row['titre'];
// création de la requête evenement
$sql_phev = "SELECT id_evenement, titre_evenement FROM evenement  WHERE (id_evenement = $id_evenement) ";


// Exécution de la requête SQL evenement
$resul_phev = mysql_query($sql_phev)  ;

// Récupération des valeurs pour evenement
$row = mysql_fetch_assoc( $resul_phev);
$titre_evenement= $row['titre_evenement'];

// Affichage
//require_once("right.php");
echo "<h2><center>$titre_evenement:  $description: $titre <br> ";
echo "<img src = $photo></center>";
echo mysql_error() ;
?>
photo étant un chemin dans ma base de donnée. (.../photos/flambeau.jpg), xe qui m'évite de mettre la photo dans la base.

Existe-t-il une façon de faire a peu près la même chosse si mon fichier est un texte en word avec un chemin dans ma base (../texte/flambeau.doc).

À date cela ne fonction pas car je ne sais pas ce qui remplacerait (si cela existe) la balise <img src=.

Je crosi que cela se raproche de fopen() mais cela ne me donne qu'une ligne, sinon il faut que je fasse une boucle.

Il me semble qu'il doit y avoir une autre façon, mais mom php n'est qu'au début.

Merci

Alain

Mammouth du PHP | 19672 Messages

09 nov. 2005, 08:21

Ok, tu enregistres le chemin d'accès au fichier dans une base de données: ce qui n'est pas tout à fait la même chose que ce que tu as exprimé.

Rien n'interdit ce système, et tu peux créer des liens en récupérant ces chemins dans une requête: mais au lieu de construire le lien avec <img src="etc...", crée un lien hypertexte avec

Code : Tout sélectionner

<a href="./chemin/vers/ton/fichier.doc">Nom de ton fichier</a>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 55 Messages

09 nov. 2005, 11:07

Bonjour,

Peut-on afficher un fichier word (.doc) de la même façon qu'un fichier jpg, c'est-à-dire en donnant uniquement le chemin dans la base de donnée. Sinon, est-ce qu je dois faire un copier coler du fichier dans ma base?
les navigateur intergre le format JPEG et peuvent le lire :wink: ce qui n'est pas le cas du .doc ton navigataur ouvrira donc directement le fichier dans Word pour ainsi ouvrire le fichier lors du chargement de la page utilise cela :
$file = '/chemin/vers/ton/fichier.doc';
header('Content-Description: File Transfer');
header('Content-Type: application/download');
header('Content-Length: '.filesize($file));
header('Content-Disposition: attachment; filename='.basename($file));
readfile($file);
avec sa tu n'aura qua stoquer le chemin d'acces au fichier ;)
Image

Eléphant du PHP | 64 Messages

09 nov. 2005, 17:11

Pourquoi faire compliquer quand on peut faire simple!

Merci à tous pour vos suggestions mais en faisant un lien il faut que la personne qui reçoit le tout ouvre avec Word, et ce n'est pas tout le monde qui a les logiciels Microsofts (qui sont très dispendieux).

Et l'autre suggestion

Code : Tout sélectionner

$file = '/chemin/vers/ton/fichier.doc'; header('Content-Description: File Transfer'); header('Content-Type: application/download'); header('Content-Length: '.filesize($file)); header('Content-Disposition: attachment; filename='.basename($file)); readfile($file);
Cela ne fonctionne pas j'ai des messages d'erreur.

Allors'étant donnée que je n'ai pas une grosse quantité d'articles, je vais continué à utiliser Flash, sans base de donnée. Le résultat étant très satifaisant, je cherchait une autre façon un peu plus simple.

Si vous voulez-voir le résultat;
http://www.aphasie.qc.ca/AQPA/articleaphasie.html

Merci

Alain

Mammouth du PHP | 1885 Messages

09 nov. 2005, 17:39

Code : Tout sélectionner

header('Content-Type: application/download');
Ce type MIME n'existe pas. application/octet-stream doit être utilisé pour forcer les téléchargements de fichiers.

http://www.phpfrance.com/forums/voir_sujet-7700.php
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

ViPHP
pjl
ViPHP | 2119 Messages

09 nov. 2005, 18:00

Merci à tous pour vos suggestions mais en faisant un lien il faut que la personne qui reçoit le tout ouvre avec Word, et ce n'est pas tout le monde qui a les logiciels Microsofts (qui sont très dispendieux).
Aujourd'hui, quasiment tout le monde a un logiciel permettant de lire les .doc.
Au pire, il reste la visionneuse de Microsoft qui est gratuite.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

10 nov. 2005, 17:18

Merci à tous pour vos suggestions mais en faisant un lien il faut que la personne qui reçoit le tout ouvre avec Word, et ce n'est pas tout le monde qui a les logiciels Microsofts (qui sont très dispendieux).
Aujourd'hui, quasiment tout le monde a un logiciel permettant de lire les .doc.
Au pire, il reste la visionneuse de Microsoft qui est gratuite.
Sauf que je ne clique pas si je sais que c'est un .doc derrière...mais je peux les lire (Textedit sous Mac OS X en natif)
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.