Php afficher fichier dans le navigateur

wikilili Messages postés 274 Statut Membre -  
wikilili Messages postés 274 Statut Membre -
Bonjour,

s'il vous plait j'ai voulu recuperer un ficher a partir de le base de donnee et l'apercu dans le navigateur mais ca pas marché
voila le code


{source}

<style type=text/css>

#sp{float:right;

}

#ig{

height:40px;

width:40px;

border:0;



}

</style>



<form action="" method="post" enctype="multipart/form-data" name="upload">
<input name="fichier" type="file" size="2000"></br>
<input name="btnfile" type="submit" onclick="javascript:loading()" value="go!"><span id ='sp'></span>

</form>

<?php



try{
$bdd = new PDO('mysql:host=localhost;dbname=labo', 'root', '');

}

catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}





if(isset($_POST['btnfile'])){

$tmp_name=$_FILES['fichier']['tmp_name'];
$name=$_FILES['fichier']['name'];
$size=$_FILES['fichier']['size'];
$type=$_FILES['fichier']['type'];
$erreur=$_FILES['fichier']['error'];

if(!empty($name)){

$tab_ext=explode('.',$name);

$ext=end($tab_ext);

$extensionAuto=array('pdf','docx','doc','xlsx','ppt','txt');
if (in_array($ext,$extensionAuto)==false){
echo "veuillez verifier l'extension du fichier a uploader";
}

else

{
echo $ext;
echo "Nom du fichier :".$name;
echo "<br>Taille du fichier :".$size;
echo "<br>Type de fichier :".$type;
echo "<br>Nom temporaire :".$tmp_name;
echo "<br>Erreur :".$erreur;

$stmt = $bdd->prepare("insert INTO file (name, type, data) VALUES (?, ?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $type);
$pf=fopen($tmp_name, 'rb');
$stmt->bindParam(3,$pf, PDO::PARAM_LOB);
$stmt->execute();

$stmt1 = $bdd->prepare("select *from FILE ");
$stmt1->execute();
while($fichier=$stmt1->fetch()){
echo "<a href='up.php?fich=".$fichier['name']."'>".$fichier['name']."</a></br>";
}




}



}

}






if(isset($_GET['fich'])){

$nomfich=$_GET['fich'];

$stmt = $bdd->prepare("SELECT type, UNIX_TIMESTAMP(updated_date), data FROM FILE WHERE name ='$nomfich'");

$stmt->execute();
$stmt->bindColumn(1, $type, PDO::PARAM_STR, 256);
$stmt->bindColumn(2, $updated_date, PDO::PARAM_INT);
$stmt->bindColumn(3, $data, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);
if (is_null($nomfich)) {
header("Content-Type: $type");
header("Content-Disposition: inline; filename=$nomfich");
header("Last-Modified: ".date('r', $updated_date));
//return fpassthru($data);
echo $data;
} else {
$hdle = fopen($nomfich, 'wb');
//return stream_copy_to_stream($data, $hdle);
fwrite($hdle, $data);
}
}







?>



{/source}
A voir également:

3 réponses

TheSenshi Messages postés 13 Statut Membre
 
T'utilises bien un logiciel qui permet de lire du PHP au moins? On ne sait jamais XD
0
wikilili Messages postés 274 Statut Membre 2
 
le nacigateur :p
0
TheSenshi Messages postés 13 Statut Membre
 
Bah le navigateur ne suffit pas il faut que tu télécharge "Wampserver" ou "EasyPHP" une fois lancer ils peuvent te faire lire ton PHP en local.
0
ElementW Messages postés 5690 Statut Contributeur 1 224
 
Tu n'aurais pas du conseiller EasyPHP, il est configuré et est trop "permissif" sur l'utilisation de PHP, donc il n'est pas du tout configuré comme les serveurs web de "production" sur le net (source: experience personnelle ou un script PHP marchait sur EasyPHP et pas sur les sites .free.fr).
0
wikilili Messages postés 274 Statut Membre 2
 
le fichier est uploader dans la base de donnee il est codé l'orsque je le recupere je recupere les symboles autrememnt dit le navigateur ne reconstruit pas le fichier il ne recupere que le code le fichier sous forme de symbol è-_"'("'"'("%%345""'...EOR .
merci
0