bon j ai un probleme c est que j ai conçu 2 class une classe nommé objetpostal et ca sous classe colis est je veux instancier un objet de type colis et le stocké dans un fichier nommé base_donnees_colis lorsque je stocke un ojjet ce derniere est stocké comme suivant:
nomdestinataire1;adresse1;ville1;poids1;recomander1 nomdestinataire2;adresse2;ville2;poids2;recomander2
est moi je veux le stocker comme suivant :
nomdestinataire1;adresse1;ville1;poids1;recomander1
nomdestinataire2;adresse2;ville2;poids2;recomander2
c est a dire je veux faire un retour a la ligne pour extraire chaque instance stocké deja dans le fichier si non comment je peux identifier chaque instance ????????;
voila mon code:
objetpostale.php
<?php
class objetpostale
{
protected $nomdestination;
protected $adresse;
protected $ville;
protected $recomander;
public function __construct($n,$a,$v,$r)
{
$this->nomdestination=$n;
$this->adresse=$a;
$this->ville=$v;
$this->recomander=$r;
}
public function prix(){}
public function toString()
{
return "le nom du destinataire : ".$this->nomdestination." l adresse du destinataire :".$this->adresse."la ville :".$this->ville." recomander :".$this->recomander;
}
}
?>
colis.php
<?php
include_once 'objetpostal.php';
class colis extends objetpostale
{
private $poids;
public function __construct($n, $a, $v,$p,$r)
{
parent::__construct($n, $a, $v, $r);
$this->poids=$p;
}
public function toString()
{
return parent::toString()."\n poids colis :".$this->poids;
}
public function prix()
{
if($this->recomander)
{
return 10+($this->poids/100)*8;
}else
return ($this->poids/100)*8;
}
public function serialiser()
{
$direct="d:\base_donnees_colis.txt";
if(!file_exists($direct) || !is_writable($direct))
{
echo "le fichier de stockage n existe pas !!!";
exit(-1);
}else
{
if(!$handlef=fopen($direct,"a"))
{
echo "imposible d ouvrire le fichier de stockage";
}
else
{
fputs($handlef,$this->nomdestination.";".$this->adresse.";".$this->ville.";".$this->poids.";"."$this->recomander \n");
}
}
}
}
?>
main.php
<?php
include_once 'colis.php';
$c=new colis("amine","sidi maarouf","casablanca",1500,"oui"."\n");
$d=new colis("smail","ouasis","casablanca",8500,"non"."\n");
$c->serialiser();
$d->serialiser();
$str="";
if(!file_exists("d:\base_donnees_colis.txt"))
{
echo "impossible de trouver le fichier";
exit(-1);
}
else
{
if(!$handlef=fopen("d:\base_donnees_colis.txt","r"))
{
echo "impossible douvrire le fichier";
exit(-1);
}
else
{
while(!feof($handlef))
{
$str.=fgets($handlef);
}
echo $str;
}
}
?>
merci d avance