यहां कुछ विषयों पर चर्चा की जानी है।
फ़ॉर्म
फ़ाइल अपलोड करने के लिए, प्रपत्र enctype विशेषता बदलें।
<form action="insert.php" method="post" enctype="multipart/form-data">
:
</form>
फ़ाइल संग्रहित करना
आप फ़ाइल को डेटाबेस में, या सर्वर डिस्क सिस्टम में फ़ाइल के रूप में संग्रहीत कर सकते हैं। आप जो भी चुनें, फ़ाइल को उसकी पंक्तियों में विभाजित करना आवश्यक नहीं है। फ़ाइल को एकल इकाई के रूप में संग्रहीत करें।
विषय पर चर्चा करने वाली इस प्रविष्टि को पढ़ें।ए>
यहां यह कहना पर्याप्त होगा कि फ़ाइल को होल्ड करने के लिए आपका डेटाबेस फ़ील्ड उपयुक्त प्रकार और आकार का होना चाहिए।
व्यक्तिगत रूप से, मैं फ़ाइल को डिस्क पर और फ़ाइल नाम को डेटाबेस में संग्रहीत करने का प्रशंसक हूं।
फ़ाइल अपलोड प्रबंधन
आप फ़ाइल को डिस्क पर कहीं भी सहेज सकते हैं। यह करने का यह सबसे अच्छा तरीका नहीं है, लेकिन प्रदर्शन करने का सबसे आसान तरीका है। SO पर पर्याप्त उदाहरण हैं, उदाहरण के लिए वांछित नाम के साथ फाइल कैसे अपलोड और सेव करें
$info = pathinfo($_FILES['upload']['name']);
$ext = $info['extension']; // get the extension of the file
$newname = "newname.".$ext;
$target = 'mydocs/'.$newname;
move_uploaded_file( $_FILES['upload']['tmp_name'], $target);
फ़ाइल डाउनलोड कर रहा है फ़ाइल को प्रदर्शित करने और डाउनलोड करने के लिए, केवल सामग्री को ब्राउज़र पर प्रिंट करें।
ob_start();
// do things. See below
ob_clean();
flush();
readfile($file);
ob_flush();
यह फ़ाइल प्रदर्शित करेगा और संभवतः ब्राउज़र को भ्रमित करेगा। ब्राउज़र को फ़ाइल को Word दस्तावेज़ के रूप में संभालने के लिए कहने के लिए, आपको फ़ाइल भेजने से पहले ब्राउज़र को उपयुक्त शीर्षलेख भेजने होंगे।
ob_start();
if(isset($_REQUEST['dlink']))
{
$file = $_REQUEST['dlink'];
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
ob_flush();