Php afficher fichier dans le navigateur
wikilili
Messages postés
274
Statut
Membre
-
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}
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:
- Php afficher fichier dans le navigateur
- Fichier bin - Guide
- Fichier epub - Guide
- Navigateur web - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
3 réponses
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.