Contrôle select et base de données

Fermé
stephane07 Messages postés 172 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 6 février 2014 - 25 nov. 2012 à 03:37
stephane07 Messages postés 172 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 6 février 2014 - 26 nov. 2012 à 18:08
Bonjour,
je souhaiterais savoir comment masquer automatiquement un composant de mon formulaire tout en changeant d'élément dans mon contrôle "select" avec du code php.
Ma deuxième préocupation est de savoir s'il existe un moyen de convertir mes fichier pdf en binaire afin de les enregistrer dans ma base de donées.

Merci.


1 réponse

mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
25 nov. 2012 à 10:14
Bonjour,

1) "comment masquer automatiquement un composant de mon formulaire "
C'est possible avec javascript

2) "s'il existe un moyen de convertir mes fichier pdf en binaire"
Le pdf c'est du binaire. L'enregistrer dans un champ de type BLOB

A+
0
stephane07 Messages postés 172 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 6 février 2014 1
26 nov. 2012 à 00:13
Merci
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 26/11/2012 à 11:16
A noter que je vois pas trop l'intérêt d'enregistrer un PDF dans un champ de type BLOB....
Ca encombre la base de données de manière "explosive". De plus, en cas de crash de la base, vous perdez tous les PDF. La solution est putot de mettre ces fichiers dans un répertoire inaccessible par http;//..... et qu'un script les ouvre, les charge dans une variable, puis vous ré-emettez le contenu de la variable. Exemple pour un fichier WORD:

<?php 
$contenuDeMonFichier = file_get_contents('../mesDocumentsWord/actes_du_cours.doc'); 

$nouveauNomFichier = 'a3zxbdrk.doc'; 

// envoi d'un en-tête php qui indique au navigateur web que le contenu qui arrive  
// est de type binaire et à exploiter par Word 
header('Content-Type: application/msword; name="'.$nouveauNomFichier .'"'); 
header('Content-Transfer-Encoding: binary'); 
header('Content-Disposition: attachment; filename="'.$nouveauNomFichier .'"'); 

echo $contenuDeMonFichier; 


Là je vous ai mis un exemple qui ouvre un document word nommé actes_du_cours.doc placé dans le répertoire mesDocumentsWord

le contenu du fichier est stocké dans $contenudeMonFichier

ensuite on émet un en-tête PHP indiquant au navigateur que ce qui arrive est un flux à traiter via WORD. En pratique, une boîte d'alerte s'ouvre et propose de lancer WORD

Le fichier reçu s'appellera a3zxbdrk.doc ainsi le destinataire n'a aucun moyen de deviner le nom et le répertoire du fichier d'orgine.

De votre coté en base de données, vous gérez simplement les titres des documents et le lien vers leur véritable emplacement. Au moment de les renvoyer, vous les renommez à votre convenance, avec un générateur aléatoire par exemple:

$extensionDeFichier = '.doc'; // extension pour document WORD 
$nouveauNomDeFichier = uniqid().$extensionDeFichier; 


Ainsi, un même fichier aura )à chaque appel un nom de fichier vers l'utilisateur différent.

A+
0
stephane07 Messages postés 172 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 6 février 2014 1
26 nov. 2012 à 18:08
ok je vois. Dans mon cas je souhaiterais uploder un document pdf dans un champ de ma base de données...
0