(PECL paradox >= 1.0.0)
px_create_fp — Crée une nouvelle base de données Paradox
$pxdoc
, resource $file
, array $fielddesc
)Crée un nouveau fichier de base de données Paradox. Le fichier actuel doit avoir été ouvert avec la fonction fopen(). Assurez-vous que ce fichier est accessible en écriture.
Note:
L'appel à cette fonction émet une alerte à propos d'un nom de table vide qui peut être ignorée en toute sécurité. Définissez juste le nom de la table en suivant avec la fonction px_set_parameter().
Note:
Cette fonction est hautement expérimentale, à cause du manque de documentation du format de fichier Paradox. Les fichiers de base de données créés avec cette fonction peuvent être ouvert avec la fonction px_open_fp() et devraient s'ouvrir sans problème avec les logiciels Paradox.
pxdoc
Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().
file
Ressource de fichier telle que retournée par la fonction fopen().
fielddesc
fielddesc est un tableau comprenant un élément pour chaque champ contenant ses spécifications. Une spécification de champ est un tableau avec deux ou trois éléments. Le premier élément est toujours une chaîne de caractères représentant le nom du champ. Il ne peut être plus grand que dix caractères. Le deuxième élément contient le type du champ qui peut être une des constantes listées dans la table "Constantes pour les types de champ". Dans le cas d'un champ sous la forme de caractères ou de bcd, vous devez fournir un troisième élément spécifiant la longueur du champ. Si votre spécification de champ contient des champs Blob, vous devez vous assurer de rendre le champ assez grand pour toutes les valeurs des champs ou bien spécifier un fichier Blob avec la fonction px_blob_file() pour y stocker les Blobs. Si vous ne faîtes pas cela, les données du champ seront tronquées.
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemple #1 Création d'une base de données Paradox avec deux champs
<?php
if(!$pxdoc = px_new()) {
/* Gestion d'erreurs */
}
$fp = fopen("test.db", "w+");
$fields = array(array("col1", "S"), array("col2", "I"));
if(!px_create_fp($pxdoc, $fp, $fields)) {
/* Gestion d'erreurs */
}
px_set_parameter($pxdoc, "tablename", "testtable");
for($i=-50; $i<50; $i++) {
$rec = array($i, -$i);
px_put_record($pxdoc, $rec);
}
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>