Php afficher fichier dans le navigateur

Fermé
wikilili Messages postés 197 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 12 février 2014 - 25 juin 2012 à 22:24
wikilili Messages postés 197 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 12 février 2014 - 10 juil. 2012 à 18:49
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 12 Date d'inscription lundi 25 juin 2012 Statut Membre Dernière intervention 9 février 2016
Modifié par TheSenshi le 25/06/2012 à 23:16
T'utilises bien un logiciel qui permet de lire du PHP au moins? On ne sait jamais XD
0
wikilili Messages postés 197 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 12 février 2014 2
26 juin 2012 à 00:16
le nacigateur :p
0
TheSenshi Messages postés 12 Date d'inscription lundi 25 juin 2012 Statut Membre Dernière intervention 9 février 2016
7 juil. 2012 à 10:19
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 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
7 juil. 2012 à 14:17
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 197 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 12 février 2014 2
10 juil. 2012 à 18:49
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