Page 1 sur 1
Question sur fichier à mettre en ID pour lien fix dans menu
Posté : 03 mai 2012, 03:19
par Fee
Salut, et merci de me lire et de m'aider, je suis débutant de la matière et je me donne un défit de faire fonctionner un script de téléchargement via une page web Barrée avec un .htpasswd ou autre chose si vous avez mieux avec explications mais cela peu suffire.
Je veux downloader mes 20 fichiers environs sécuritairement quelques soit le nom mettons car je peux mettre la date ou une version dans le nom mais toujours avec le même extention. Je voudrais le faire via une base donnée MYSQL pour que le fichier télécharger dans tel case est toujours le même ID pour avoir une adresse web fixe pour mettre dans un menu Jquery. Donc quand on clique dans le menu déroulant c'est le PDF prune.pdf et dans orange que cela soit Orange. Les fichiers sont mis à jour tout les jours ou presques.
Est-ce bien compliquer ?
j'espère est claire sinon j'essayerai de mieux expliquer.
Re: Question sur fichier à mettre en ID pour lien fix dans m
Posté : 03 mai 2012, 08:50
par moogli
salut,
non c'est relativement simple.
la table de base contient deux voir trois champs
create table fichiers (
id int unsigned not null auto_increment primary key,
emplacementFichier varchar(120) not null,
nomficher varchar(50)
);
Après y a moyen de complexifier un peu la chose, si tu veux utiliser des catégories, indiquer le type mime etc etc (le type mime tu peux le récupérer directement sur le fichier a voir).
Après le code est très simple :
- Tu récupère l'id dans l'url ($_GET)
- Tu récupère le lien du fichier
- Tu utilise la fonction
header pour envoyer le fichier au navigateur.
- c'est finis
essai et si tu a des soucis demande nous
@+
Re: Question sur fichier à mettre en ID pour lien fix dans m
Posté : 03 mai 2012, 21:55
par Fee
Ok donc la table est créer avec fichier. comme j'ai 15 ou 20 fichiers, comment faire pour ne pas se mêler ?
Question à part, je me suis fait un formulaire de download en PHP avec une protection htpassw sur le répertoire sauf que je dois laisser le répertoire de destination en 755. Ce n'est pas très sécuritaire je crois ? Je cherche un formulaire de download de fichier qui se connect via mot de passe à la base de donnée cela serait mieux je crois mais cela semble complexe.
J'ai lu qu'on doit donner l'adresse FTP et le user pass du serveur. Est-ce qu'il y a plus simple ?
Re: Question sur fichier à mettre en ID pour lien fix dans m
Posté : 03 mai 2012, 22:22
par Fee
CREATE TABLE `fichiers` (
`ID` smallint(20) NOT NULL auto_increment,
`emplacementfichier` varchar(120) not null,
`nomfichier` varchar(100) NOT NULL default '',
PRIMARY KEY (`ID`)
);
INSERT INTO `fichiers` (`ID`, `emplacementfichier`, `nomfichier`) VALUES
(1, 'upload', 'tttt.pdf'),
(2, 'upload', 'bbbb.pdf');
Emplacement sert pourquoi ?
HTML: pour upload c'est un input par fichier je crois mais est-ce comme ceci ?.
<tr>
<td><input id="1" value=""><td>
<td><input id="2" value=""><td>
</tr>
Re: Question sur fichier à mettre en ID pour lien fix dans m
Posté : 04 mai 2012, 09:20
par moogli
déja y a pas de type indiqué donc ça ne peux pas fonctionner
le reste c'est dans la doc
pour un seul fichier
http://fr2.php.net/manual/fr/features.f ... method.php
pour plusieurs fichier :
http://fr2.php.net/manual/fr/features.f ... ltiple.php
@+
Re: Question sur fichier à mettre en ID pour lien fix dans m
Posté : 05 mai 2012, 15:26
par Fee
CREATE TABLE `fichiers` (
`ID` smallint(20) NOT NULL auto_increment,
`type` varchar(120) NOT NULL default '',
`nomfichier` varchar(100) NOT NULL default '',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET="utf8"
AUTO_INCREMENT=25 ;
INSERT INTO `fichiers` (`ID`, `type`, `nomfichier`) VALUES
(1, 'horaire', 'tttt.pdf'),
(2, 'autre', 'bbbb.pdf');
Cela semble mieux mais je me demande entre UTF8 et Latin1 ou autre ?
Re: Question sur fichier à mettre en ID pour lien fix dans m
Posté : 05 mai 2012, 17:18
par Fee
Le code HTML doit resembler a cela si ne me trompe pas pour télécharger le fichier:
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>administrateur</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data" name="formulaire">
<table><tr>
<td><div>Horaire</div></td>
<td><input name="horaire" type="file" id="horaire"></td>
</tr>
<td><div>autre</div></td>
<td><input name="autre" type="file" id="autre"></td></tr>
<tr>
<td>input name="Ajouter un fichier" type="submit" id="Ajouter un fichier" value="Mise à jour" class="small">
<td></table></FORM>
</body>
</html>
Je suis perdu un peu perdu dans le php ici:
<?php
if (isset($_POST["Ajouter un fichier"]))
{
//Telechargement de fichier...
if (isset($_FILES["horaire"]["name"]) and $_FILES["horaire"]["name"] != "")
if (isset($_FILES["autre"]["name"]) and $_FILES["autre"]["name"] != "")
}
?>