Latest web development tutorials
×

PHP cours

PHP cours PHP Brève introduction PHP installer PHP grammaire PHP variable PHP echo/print PHP Types de données PHP constante PHP chaîne PHP opérateurs PHP If...Else PHP Switch PHP tableau PHP Tri d'un tableau PHP Superglobales PHP While circulation PHP For circulation PHP fonction PHP Variables magiques PHP Namespaces PHP Object-Oriented

PHP forme

PHP forme PHP Authentification Forms PHP forme - Les champs obligatoires PHP forme - email de vérification et d'URL PHP Complète instance de formulaire PHP $_GET variable PHP $_POST variable

PHP Tutorial avancée

PHP Les tableaux multidimensionnels PHP date PHP contenir PHP fichier PHP File Upload PHP Cookie PHP Session PHP E-mail PHP sécurité E-mail PHP Error PHP Exception PHP filtre PHP filtre avancé PHP JSON

PHP 7 Nouvelles fonctionnalités

PHP 7 Nouvelles fonctionnalités

PHP Base de données

PHP MySQL Brève introduction PHP MySQL raccordement PHP MySQL La création d'une base de données PHP MySQL Créer une table de données PHP MySQL Insérer des données PHP MySQL Insérez des données multiples PHP MySQL Déclarations préparées PHP MySQL Lire les données PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX Brève introduction AJAX PHP AJAX Base de données AJAX XML AJAX Recherche en temps réel AJAX RSS Reader AJAX vote

PHP Manuel de référence

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Traitement de l'image PHP RESTful

PHP PDO objets volumineux (LOB)

Manuel PHP PDO Référence Manuel PHP PDO Référence

Demande à un moment, vous pourriez avoir besoin d'une base de données pour stocker des données "grands".

"Large" signifie généralement "autour de 4kb ou plus", bien que certaines des données dans la base de données pour parvenir à «grand» avant peut facilement gérer jusqu'à 32kb des données. Il peut être du texte ou des objets binaires volumineux dans la nature.

() Ou PDOStatement :: bindColumn ()) appel en utilisant le PDO en PDOStatement :: bindParam :: PARAM_LOB PDO code de type permet l'utilisation de grands types de données.

PDO :: PARAM_LOB dit PDO pour cartographier les données comme un flux, afin d'être en mesure d'utiliser PHP Streams API pour fonctionner.

Afficher une image à partir d'une base de données

L'exemple suivant est lié à un LOB variable $ lob et () envoie au navigateur avec fpassthru. Parce que LOB représente un flux, si semblable à fgets (), fread () et stream_get_contents () peut être utilisé, tel que sur le dessus de celui-ci.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("select contenttype, imagedata from images where id=?");
$stmt->execute(array($_GET['id']));
$stmt->bindColumn(1, $type, PDO::PARAM_STR, 256);
$stmt->bindColumn(2, $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);

header("Content-Type: $type");
fpassthru($lob);
?>

Insérer une image dans une base de données

L'exemple suivant ouvre un fichier et passer la poignée de fichier à PDO pour faire une LOB insérée. PDO autant que possible afin que la base de données de la manière la plus efficace pour obtenir le contenu du fichier.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) values (?, ?, ?)");
$id = get_new_id(); // 调用某个函数来分配一个新 ID

// 假设处理一个文件上传
// 可以在 PHP 文档中找到更多的信息

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$db->beginTransaction();
$stmt->execute();
$db->commit();
?>

Insérer une image dans une base de données: Oracle

Pour insérer un LOB depuis un fichier, Oracle est légèrement différent. Doit être inséré après l'opération, sinon provoquer le nouvellement inséré lorsque la requête est exécutée LOB avec une longueur de 0 est implicitement soumis:

<?php
$db = new PDO('oci:', 'scott', 'tiger');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) " .
"VALUES (?, ?, EMPTY_BLOB()) RETURNING imagedata INTO ?");
$id = get_new_id(); // 调用某个函数来分配一个新 ID

// 假设处理一个文件上传
// 可以在 PHP 文档中找到更多的信息

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$stmt->beginTransaction();
$stmt->execute();
$stmt->commit();
?>

Manuel PHP PDO Référence Manuel PHP PDO Référence