Önceki yazımda PHP ile form kullanarak nasıl upload yapabileceğinizi göstermiştim. Şimdi o konuyu bir adım ileriye taşımak istiyorum. Bu yazımda PHP ile formdan gelen dosyayı nasıl veritabanında saklarız sorusunun cevabını vereceğim.
Eğer önceki yazıyı okumuşsanız aşağıda vereceğim kodu zaten biliyorsunuz eğer okumadıysanız da çok önemli değil biraz inceleyerek çözebileceğinizi düşünüyorum.
if (isset($_FILES['dosya'])) //formdaki field ın adının dosya olduğunu varsaydım sizde farklıysa bu bölümü değiştirmeniz gerekebilir.
{
$file = $_FILES['dosya'];
if ($file['error'] == UPLOAD_ERR_OK)
{
$name = md5(uniqid(mt_rand().time(),true));
$pathInfo = pathinfo($file['name']);
if (isset($pathInfo['extension']))
$name .= '.'.$pathInfo['extension'];
$uploaddir="./temp/";
if (move_uploaded_file($file['tmp_name'], $uploaddir.$name))
{
echo "Upload başarılı";
}
else
{
die("Dosya yüklenemedi..");
}
}
}
$di = fopen ($uploaddir.$name, "r");
if (!$di)
{
die("Dosya yüklenemedi..");
}
else
{
$dicerik = fread ($di, $boyut);
fclose ($di);
$encdosya=base64_encode($dicerik);
$sqldosya="INSERT INTO `tablo_adı` VALUES ('', '".$encdosya."')";
mysql_query($sqldosya);
unlink($name);
echo "Dosya başarıyla yüklendi"; //veya header("Location: panel.php"); gibi bir şey yapılabilir
}