2010-05-02 4 views

Répondre

1

4 étapes:

  1. Vous devez configurer correctement le formulaire: ajouter ENCTYPE = "multipart/form-data" dans la balise de formulaire.
  2. Dans votre page php vous avez à read the content of the file
  3. échapper les données binaires en utilisant mysql_real_escape_string()
  4. l'aide d'une requête standard mis le contenu du fichier en vous ramez.
+0

Gardez également à l'esprit que si le fichier est volumineux, vous voudrez peut-être faire en sorte que le type de données de la colonne soit blob ou quelque chose de similaire. – Chaim

3

Je ne recommande pas d'utiliser la base de données pour le contenu des fichiers car la base de données est limitée à cet égard. Bien sûr, il y a text champs que vous pouvez mettre le contenu, mais même ceux sont limités à un certain degré. Dans tous les cas, le type de champ text est désormais obsolète. Je prendrais l'habitude d'essayer de rester à l'écart, à moins que vous ayez vraiment besoin de l'avoir. Vous pouvez tout aussi facilement ouvrir le contenu en cas de besoin, en utilisant fopen, fgets, fclose. Ou fread, ou file_get_contents au lieu de le stocker dans la base de données, pourquoi ne pas le stocker en tant que fichier sur le serveur, en utilisant file_put_contents. Cependant, juste en notant que peut-être vous faites référence au nom de fichier étant stocké dans la base de données, si cela fonctionne très bien et utiliser un varchar (255) devrait être parfaitement bien.

Dans ce cas, assurez-vous d'avoir une méthode = "post" et une action = "whatever.php" pour le jeu de formulaires. Et ENCTYPE = "multipart/form-data". Un bouton de soumission normal déclenche l'action et vous pouvez la gérer directement à partir de là. Vous pouvez utiliser move_uploaded_file pour le stocker dans un chemin sur le serveur, ou s'il s'agit d'un fichier texte et que vous devez y apporter des modifications, l'une des méthodes que j'ai mentionnées plus haut devrait le faire. Sinon, pour obtenir le fichier à partir d'un formulaire, utilisez le tableau PHP prédéfini $_FILES. Vous devez obtenir les valeurs $_FILES['file_input_name']['tmp_name'] et $FILES['file_input_name']['name'], où file_input_name = l'attribut de nom de l'étiquette pour votre entrée de fichier dans le formulaire.

+0

Il y a aussi le type de champ BLOB ... –

Questions connexes