1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| <?php
//La classe FileFromDBAfin de manipuler les fichiers stockées dans la base de données
class FileFromDB {
private $filename;
public function __construct($filename) {
$this->filename = $filename;
}
//La méthode FileFromDB::upload();;une méthode permettant d'enregistrer notre fichier comme un objet large binaire au sein de notre table.
public function upload($file) {
global $PDO;
$stmt = $PDO->prepare("INSERT INTO moninterface.file (name, type, data) VALUES (?, ?, ?)");
$stmt->bindParam(1, $this->filename);
$stmt->bindParam(2, $file['type']);
$stmt->bindParam(3, fopen ($file['tmp_name'], 'rb'), PDO::PARAM_LOB);
return $stmt->execute();
}
}
?>
<?php
//le formulaire php
$dbhost = "localhost";
$dbname = "moninterface";
$dbuser = "root";
$dbpass = "xxx";
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
if (!$conn)
{
echo "Connexion impossible \n";
exit;
}
$message = null;
if (isset($_FILES['myFile'])) {
$File = new FileFromDB($_FILES['myFile']['name']);
$File->upload($_FILES['myFile']);
$message = 'Votre fichier à bien été ajouté';
}
?>
<html>
<head>
<title>Upload</title>
</head>
<body>
<form method="post" enctype="multipart/form-data">
<?php echo $message; ?>
<fieldset>
<legend>Charger un fichier</legend>
<p>
<label for="myFile">Fichier</label>
<input type="file" id="myFile" name="myFile" />
</p>
<p>
<input type="reset" value="Annuler" />
<input type="submit" name ="Envoyer" id="Envoyer" value="Envoyer" />
</p>
</fieldset>
</form>
</body>
</html> |
Partager