الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]رفع الملفات وتحميلها من قاعدة البيانات

بدأه terroristpc في 3 مايو 2012 · 2 رد · 536 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

كيفكم حبايبي

عندى مشكلة مدوختني شوي :wacko: << ياكثر مشاكله :lol:

لدى كود لرفع الملفات على قاعدة البيانات وعند القراءة او التحميل يظهر الملف فارغ

جربت ارفع ملف وورد وشفته مظاف فى القاعده وعندما قمت بتحميله وجدته فارغ

هذا الكود

upload.php

<?php 
session_start();  
include("../config.php"); 
if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0) 
{ 
$fileName = $_FILES['userfile']['name']; 
$tmpName  = $_FILES['userfile']['tmp_name']; 
$fileSize = $_FILES['userfile']['size']; 
$fileType = $_FILES['userfile']['type']; 

$fp      = fopen($tmpName, 'r'); 
$content = fread($fp, filesize($tmpName)); 
$content = addslashes($content); 
fclose($fp); 

if(!get_magic_quotes_gpc()) 
{ 
    $fileName = addslashes($fileName); 
} 

$query = "INSERT INTO upload (name, size, type, content ) ". 
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')"; 

mysql_query($query) or die('Error, query failed');  

echo "<br>File $fileName uploaded<br>"; 
}  
?> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>New Page 2</title> 
</head> 

<body> 
<form method="post" enctype="multipart/form-data"> 
<table width="350" border="0" cellpadding="1" cellspacing="1" class="box"> 
<tr>  
<td width="246"> 
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"> 
<input name="userfile" type="file" id="userfile">  
</td> 
<td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td> 
</tr> 
</table> 
</form> 

</body> 

</html>

download.php

<?php
session_start(); 
include("../config.php");
if(isset($_GET['id']))
{

	$id      = $_GET['id'];
	$query   = "SELECT name, type, size, content FROM upload WHERE id = '$id'";
	$result  = mysql_query($query) or die('Error, query failed');
	list($name, $type, $size, $content) = mysql_fetch_array($result);

header("Content-length: $size");
header("Content-type: $type");
header("Content-type: Content-Type: application/msword; charset=utf-8");
header("Content-Disposition: attachment; filename=\"$name\"");
	echo $content;

	exit;
}

?>
<html>
<head>
<title>Download CV</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
$query  = "SELECT id, name FROM upload";
$result = mysql_query($query) or die('Error, query failed');
if(mysql_num_rows($result) == 0)
{
	echo "Database is empty <br>";
} 
else
{
	while(list($id, $name) = mysql_fetch_array($result))
	{
?>
	<a href="download.php?id=<?php echo $id;?>"> <?php echo $name;?></a> <br>
<?php		
	}
}
?>
</body>
</html>

صححوا لى الكود :blush: واذا كان فيه طريقة او كود افضل من هذا افيدوني جزاكم الله خير

#2

مازلت انتظر :sad:

تم تعديل هذه المشاركة بواسطة terroristpc في 3 مايو 2012 في 22:03

#3

تم حل المشكله :wacko:

للفائدة المشكلة فى نوع بيانات الملف content كان varchar وهو من المفترض ان يكون mediumblob :lol:

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…