Voir le contenu du Blob dans phpMyAdmin

Désolé pour la Question de Noob, mais quel est le symbole de bouton, et comment puis-je afficher le contenu d'un blob? texte alternatif http://www.rigel222.com/images/blobcontent.jpg

34
demandé sur Joshua 2010-02-03 01:32:12

8 réponses

les versions précédentes de phpmyadmin avaient un paramètre appelé

$cfg['ShowBlob']              = TRUE;

cela vous permettrait de voir le contenu des blobs dans le navigateur. Vous devriez noter que cela causerait le chaos si vous stockiez des fichiers binaires dans des blobs, puisque vous verriez des gobblygok sans fin dans la fenêtre du navigateur. Il ya des gens (comme moi) qui ont décidé que leur application avait besoin d'utiliser des types BLOB pour stocker du texte (semblait être une bonne décision à l'époque, et comme je me souviens il y avait quelques réflexions sur mon la partie qui est entré dans la décision). Cependant phpmyadmin a décidé de décourager cela en dépréciant ce paramètre de configuration. Compréhensible, car cela pourrait causer tout à fait une demande de prise en charge. Apparemment, la pensée était de déplacer les gens sur les types de champ de texte.

heureusement, l'affichage du contenu des blobs a été déplacé dans l'interface utilisateur plutôt que dans la configuration.

la façon la plus simple de voir le contenu des blobs lorsque vous naviguez est de cliquer sur le lien:

+

heureusement votre screenshot montre déjà les Options + dans la partie supérieure de l'image supérieure.

qui affichera un formulaire qui vous permettra d'Afficher des blobs (et des binaires). Cliquez sur cela et il l'ajoutera à votre choix à la session, en s'assurant que vous voyez le contenu à partir de là.

vous pouvez aussi obtenir le même résultat en utilisant print view:

vue d'Impression (avec textes intégraux)

qui vit au bas de la page.

Malheureusement, ces deux techniques ne sont pas utiles si vous souhaitez afficher le blob, puisqu'il apparaît pour réinitialiser fréquemment. Vous pouvez corriger cela en ajoutant la ligne

$_GET['display_blob'] = true;

au début de la sql.fichier php. Je pense qu'il pourrait y avoir une meilleure façon de le faire, et j'espère que quelqu'un d'autre pourrait le mettre en place...

(note: comme Rodrigo l'a souligné, vous pouvez réaliser manuellement cet effet en ajoutant &display_bob=true dans l'URL)

votre question spécifique sur le bouton "Choisir un fichier" est simple. La plupart des utilisations des blobs sont pour stocker des fichiers numériques dans la base de données. Ce bouton vous permet de télécharger un nouveau fichier dans la base de données. Si vous sélectionnez un fichier et cliquez sur "go" il va essayer de bourrer le contenu de ce fichier dans la colonne blob pour vous.

juste pour noter, simplement afficher le contenu du blob n'est probablement pas ce que les autres utilisateurs veulent. Quand J' regardez le "résumé blob" avant que j'utilise cette option pour afficher les blobs je vois des tailles de blob de 55 octets max. Votre exemple A de plus grandes valeurs, parce qu'il semble que vous stockez de très petits fichiers de texte, ce qui signifie, je suppose, des paragraphes de texte. Si la taille est plus grande que 10's de kilo-octets, c'est probablement un fichier binaire qui affichera gooblegok.

si vous voulez télécharger des fichiers binaires intelligemment (plutôt que de les afficher sous forme de texte) je pense que vous devez regarder dans ce phpmyadmin appelle blobstreaming.

32
répondu ftrotter 2017-02-09 13:41:06

&display_blob=true sur la fin de votre URL.

12
répondu Rodrigo 2011-11-03 16:45:58

Enregistrer le Lien sous fichier txt

vous pouvez faire un clic droit sur phpMyAdmin et enregistrer le lien comme extension de fichier txt pour voir le type de fichier texte blob

3
répondu Bill 2016-05-30 09:42:38

je pense que la meilleure solution est de changer cette ligne:

$cfg['Servers'][$i]['extension'] = 'mysql';

à:

$cfg['Servers'][$i]['extension'] = 'mysqli';

Si vous avez l'extension mysqli disponible, utilisez-le. Il est plus sûr, un peu plus optimisé, et il gère mieux par défaut le type BLOB de utf-8. Vos entrées [BLOB] devraient commencer à apparaître comme leurs valeurs sans avoir à ajouter d'autres options de configuration spéciales.

2
répondu cwd 2011-06-23 23:27:02

les nouvelles versions de PHPMyAdmin semblent nécessiter une solution légèrement différente

$cfg['ProtectBinary'] = FALSE;

Place à la fin du fichier /etc/phpmyadmin/config.inc.php

Ou par l'utilisation du liner

echo "$cfg['ProtectBinary'] = FALSE;" | sudo tee -a /etc/phpmyadmin/config.inc.php

cela a fonctionné pour moi sur PHPMyAdmin version 3.4.10.1deb1

2
répondu wiifm 2012-08-27 11:32:29

pour les nouveaux visiteurs, une autre façon de voir les colonnes BLOB est le QUOTE () fonction. Vous pouvez créer une vue de la commodité. (Une vue se comporte comme une table mais c'est vraiment une sorte de requête sauvegardée):

CREATE VIEW log_text AS SELECT BlobID, FileName, CAST(QUOTE(Content) AS CHAR) FROM log;

vous devrez lancer le résultat comme CHAR parce que QUOTE (binaire) est toujours binaire. Cela peut causer un certain chaos (comme le dit @ftrotter) parce que la citation ne traduit que des caractères de contrôle, et non des supra-ASCII caractère.

enter image description here

Pour les moins de chaos utiliser HEX ().

2
répondu Bob Stein 2015-09-01 04:37:35

la boîte de dialogue" Choisir un fichier " vous permet de choisir un fichier sur votre poste de travail et de le télécharger à l'intérieur de la colonne blob pour cette ligne.

si votre BLOB contient des images JPEG ou PNG, vous pouvez réellement voir leurs vignettes lors de la navigation, avec l'image complète étant affichée lorsque vous cliquez sur la vignette. Voir https://phpmyadmin.readthedocs.org/en/latest/transformations.html.

1
répondu Marc Delisle 2013-08-23 19:42:23

j'ai ajouté ceci à ma configuration.Inc.php qui m'a aidé beaucoup

# Show BLOB data on table browse pages.  Hack to hardcode all requests.
$_REQUEST['display_blob'] = true;
0
répondu Demodave 2014-11-25 17:10:58