Titre: lire fichier+upload
Posté par: fritids23 le le 14-03-2005 a 16:46:30
bonjour,
je n'ai pas trop bien php et la je stagne sur un probleme.rien à fiare. voila je voudrais créer un form pour uploader des fichiers .txt ou .doc ou n'importe. avec des champs id, nom, ....etc. et les stocker dans une base de données. puis au cours d'une réquête sql je peux ouvrir et lire tel ou tel fichier? j'espere qe vous avez compris sinon je reformule. j'ai trés besoin de ce script.aidez moi svp merci d'avance |
Titre: Re:lire fichier+upload
Posté par: MFred le le 14-03-2005 a 19:25:49
Pour uploader, tu dois tout d'abord créer un forumlaire dédié à l'envoi de fichier, dans ce genre :
Code:
| <form method="post" action="upload.php"enctype="multipart/form-data"> |
|
Avec un champ permettant à l'utilisateur de sélectionner son fichier :
Code:
| <input type="file" name="fichier" /> |
|
Ensuite, sur la page de réception du formulaire (upload.php dans l'exemple), tu vérifies l'extension du fichier (refuser les fichiers .php par exemple), tu vérifies la taille, puis tu déplaces le fichier temporaire créé dans le dossier que tu souhaites (via move_uploaded_file : http://fr.php.net/manual/fr/function.move-uploaded-file.php).
Tu peux toujours te référer à ce turoriel (colonne de droite) : http://www.asp-php.net/tutorial/asp-php/upload.php |
Titre: inclure fichie à partir d'une bdd
Posté par: fritids23 le le 16-03-2005 a 17:46:33
Merci pour ta réponse , les tutos que tu m'a montré sont trés intéressent et ca marche. mais j'ai un autre probleme, comment je pourait faire une include d'unfichier txt , doc ou html de puis ma base de données. admettons que j'ai une page index.php et je voudrais inclure une page html ou fichier doc ou .txt que j'ai déja uploader sur ma base de données.pour avoir ensorte une url come: www.index/pages....?id=255 j'ai suivi ce tutoriel intéréssent et l'upload marche mais je n'arrive pas à afficher l'url, le tuto n'est pas trés clair la dessus: http://www.phpbuilder.com/columns/florian19991014.php3 quelqu'un a une réponse svp |
Titre: Re:lire fichier+upload
Posté par: MFred le le 16-03-2005 a 18:55:55
Stocker une image dans une base de données :-\ Faut le vouloir. La démarche utilisée habituellement est d'uploader l'image dans un dossier spécifique, et de stocker le chemin vers l'image dans la base de données ... Ce "tuto" me surprend un peu.
Ce que tu peux faire, si j'ai compris ton but, c'est lire le fichier .txt ou .html temporaire à l'aide des fonctions fread() (http://fr.php.net/manual/fr/function.fopen.php]fopen()[/url] et [url=http://fr.php.net/manual/fr/function.fread.php). Regarde un peu du côté de http://www.phpdebutant.org/article58.php. Ensuite tu insères ce contenu dans la base, puis tu supprimes le fichier.
Pour l'afficher, c'est assez classique : requete sql suivant l'id contenu dans l'url. Tu devrais trouver pas mal d'aide sur internet.
PS : Pour le .doc oublies ... Ce n'est pas un format comme le .txt ou le .html, mais du binaire, et pour ma part je ne cherche même pas à comprendre comment ca marche. Ce qui n'empeche pas d'uploader ces fichiers dans un répertoire, puis de les proposer en téléchargement (mais le contenu ne sera pas sauvegardé dans la base de données). |
Titre: Re:lire fichier+upload
Posté par: fritids23 le le 17-03-2005 a 11:52:41
merci pour ta réponse, c vrai que je sui novice du php, mais je me demerde pas mal.mais des fois je plante surtout sur la syntaxe exacte.je conais déja la fonction fopen pouir lire un fichier txt. c pratique remarque. le tutoriel que j'ai essayé marche, le résultat c qu'il me donne une page avec tt les fichiers et il faut cliquer sur le lien pour upload.moi je veux pas ca, je veux que le fichier que j'ai stocké ds ma base surtout du.tx ou .html soit récupérer dans une autre page tel pour une iclude par exemple du genre à avaoir une url tel index.php/pages/articles?id=450 alors du coup j'ai un peu pigé ta solution mais j'arrive pas à constituer ma syntaxe.(dslé je demande un peu trop) en fait pourqoui le tuto que je t'ai proposé te surprend??? je te suis reconnaissant et je suis sure qu'on y arrivera. |
Titre: Re:lire fichier+upload
Posté par: MFred le le 17-03-2005 a 20:16:43
Il faut cliquer sur le lien pour l'upload ? Tu es sur de ne pas confondre upload et download ?
Je ne suis pas sur de bien comprendre ce que tu souhaites faire. D'un côté, tu veux qu'on puisse uploader (envoyer sur le serveur web) des fichiers, puis tu veux qu'on puisse les visualiser à partir d'une page-menu qui les liste ?
Dans ce cas, il y a plusieurs solutions :
- Lorsque le visiteur envoie son fichier (stocké temporairement), tu en lis le contenu avec les fonctions adéquates, puis tu insères ce contenu dans une base de données. Pour la visualisation, tu créés une page "fichier.php" que tu appeleras avec une variable id dans l'url (cette variable contiendra l'id correspondant au fichier que tu souhaites visualiser). Sur cette page, tu vas chercher dans ta base de données le contenu du fichier correspondant à l'id contenu dans l'adresse, puis tu affiches ce contenu.
- Lorsque le visiteur envoie son fichier, tu le déplaces vers un répertoire, et tu insères dans la base de données l'adresse vers ce fichier. Pour la visualisation, tu crées une page "fichier.php" que tu appeleras avec une variable id dans l'url (cette variable contiendra l'id correspondant au fichier que tu souhaites visualiser). Sur cette page, tu vas chercher dans la base l'adresse vers le fichier, et tu rediriges le visiteur vers l'adresse de ce fichier (contenue dans la base de donées) avec la fonction header.
- Lorsque le visiteur envoie son fichier, tu le déplaces vers un répertoire. Pour la visualisation, tu crées une page "listing.php" qui va parcourir le dossier dans lequel arrivent les fichiers, et afficher une liste.
Essaie de bien clarifier l'idée que tu te fais de ton futur script. Et tant qu'à faire, je te conseillerais d'abandonner ce tutorial qui n'est plus très à jour (REGISTER_GLOBALS ...).
|
Titre: Re:lire fichier+upload
Posté par: fritids23 le le 23-03-2005 a 14:05:16
désolé de ne pas pouvoir réponder plutôt,
alors voila, j'essaye d'être un peu plus clair. le tuto sur l'upload de fichier je l'ai bien réussi grace aux liens que tu ma donné. seul prob que quand j'essaye d'affiche l'image par son id avec <? echo "index.php?id_image=50"; ?> l'image ne s'affiche pas seulement quand je fais un a href que ca s'affiche ds une autre page.
2/ mon idéec'étais de faire une base de donnée et d'y stocker mes pages html, php etc.. et de les inclure depuis la base avec include en utilisant juste l'id.ok et l'uploa ca me servira à envoyer la page dans la bse comme ca j'aurais pas 35 milles pages.
j'espere que j'ai été assez clair. merci |
Titre: Re:lire fichier+upload
Posté par: MFred le le 23-03-2005 a 15:16:47
alors voila, j'essaye d'être un peu plus clair. le tuto sur l'upload de fichier je l'ai bien réussi grace aux liens que tu ma donné. seul prob que quand j'essaye d'affiche l'image par son id avec <? echo "index.php?id_image=50"; ?> l'image ne s'affiche pas seulement quand je fais un a href que ca s'affiche ds une autre page.
|
|
Il faut différencier deux adresses : l'adresse de la page qui affichera l'image, et l'adresse de l'image en elle-même. Voici une solution : sur la page qui fait un listing des fichiers, tu vas sélectionner tous les enregistrements de la table ("SELECT ..."), puis dans cette boucle tu mets un lien vers l'adresse de l'image (et non pas vers index.php?id=...).
Pour les photos, je vois à peu près ce que tu souhaites faire, mais pour les pages HTML ... Je vois mal l'intéret. Autant faire un formulaire avec un textarea, et y écrire le texte directement. Ca reste à mon sens plus sur qu'un upload, et plus facile à mettre en place. Et pour l'upload de pages PHP, très mauvaise idée, vraiment.
PS : Essaie de te relire avant de poster, de bien ponctuer ton message, de corriger les fautes de frappes ... C'est plus compréhensible, et ça donne plus envie d'aider :) |
Titre: Re:lire fichier+upload
Posté par: fritids23 le le 23-03-2005 a 15:28:56
merci pour tes réponses, et tes conseils. j'essayerais de faire plus attention. j'essayerais de faire ce que tu me dis et si j'ai des soucis je reviens te le dire. ;D ;) |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|