katika somo hili utajifunza jinsi ya ku upload multiple file yaani mafaili mengi kwa wakati mmoja kwa kutumia PHP
Katika somo lililotangulia tuliona jinsi ya ku futa data kwenye database na kwenye folda. Sasa katika somo hili tunakwenda kujifunza jinsi ya ku upload mafaili mengi yaani ku upload mafaili zaidi ya moja. Pia utajifunza ku upload taarifa hizi kwenye database. Tutakwenda kutumia table yetu ile ile ya blog.
Kipengele muhimu cha kwanza ni kwenye html. Kwanza kabisa ni kuiruhusu html form iweze kuchaguwa mafaili zaidi ya moja. Kufanya hivi utatakiwa kuongeza attribute ingine ya form. Attrib ute hii inaitwa multiple ambayo itakuwa na value multiple. Mfano multiple="multiple" pia kwenye name ya value yake utaiongezea mabano yale ya array [] mfano name="file[] hivyo basi html form itaonekana kama hivi:-
html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Uploadstitle>
head>
<body>
<div class="container mt-5">
<form action="upload.php" method="post" enctype="multipart/form-data" >
<input type="file" name="file[]" multiple="multiple">
<button type="submit" name="submit">Upload Filesbutton>
form>
div>
body>
html>
Sasa sehemu ya msingi zaidi ni faili la PHP ambalo linakwenda ku process data zetu. Kwanza tunatakiwa tupate orodha ya mafaili am bayo mtumiaji ameselect. Hapa mafaili tutayapata kwa njia ya array.
Hivyo basi kuna njii kuu 2 ambazo tunaweza kuzitumia ili kupata mafaili hayo. Kwanza ni kwa kutumia for loop. Tulishajifunza kuhusu for loop. Tutatumia mfano kama ule am bao tulitumia. Njia ya pili ni kwa kutumoia froeach loop. Piua tyutatumia mfano kama ule.
Kwa kutumia for loop:
Kwanza tutahitajika kujuwa idadi ya mafaili ambayo tayari yapo. Kama unakumbuka kwenye somo la for loop nilikwambia kuwa utatumia hii kama unajuwa kuwa code zako ziutatakiwa ku run mara ngapi. Hivyo ni lazima tujuwe kuna mafaili mangapi kwenye array.
Kufanya hivi tutatumia count() function. Tutaweka parameta iliyo na majina ya mafaili kutoka kwenye POST method. Mfano count($_FILES['file']['tmp_name'])
Hapo tutahitajika kuwa na variable maalimu ambayo ina hiyo idadi ya mafaili. Hivyo tutafanya $num_files = count($_FILES['file']['tmp_name']);Hatuwa inayofuata ni ku loop hiyo idadi ya mafaili kwenye for mfano for($i=0; $i < $num_files;$i++)Hivyo code zetu zitaendelea ku run maadamu idadi ya mafaili haijafikiwa. Ila ikifikiwa itastop.
Katiika mfano wa hapo juu utaona kuwa variable ambayo ndio ita run autoincrement ni $i, hivyo ili kupata majina ya mafaili yote tutahitajika ku loop na $i . hivyo itaonekana kama hivi $_FILES['file']['name'][$i])Hapo utaweza kupata majina ya mafaili yote. Na kama utahitaji taarifa ingine kwa mfano $_FILES['file']['tmp_name'][$i]au $_FILES['file']['size'][$i]Na kadhalika.
Baada ya kumaliza ku upload tutahitajika kuingiza taarifa hizo kwenye database. Hii tutafanya kama tulivyofanya kwenye somo lililopita. Mfano $sql="INSERT INTO blog(image) VALUES ('$fn')";
if (mysqli_query($conn, $sql)) {
header("location: index.php");
} else {
echo "failed";
}
Hivyo basi code za ku upload mafaili zitaonekana hivi:-
include 'config.php';
if(isset($_FILES['file']['tmp_name']))
{
//set upload directory
">...
Umeionaje Makala hii.. ?
Katika somo hili utakwenda kujifunza jisni ya kudhibiti error ambazo zinaweza kutokea wakati wa ku encode na ku decoe json data
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu Cookie Headers
Soma Zaidi...Katika somo hili utajifunza kuhusu cronjob na matumizi yake kwenye PHP
Soma Zaidi...Katika somo hili utakwenda kujifunza kazi na matumizi ya construct function na desctruct function kwenye OOP
Soma Zaidi...Katika somo hili utakwend akujifunza jinsi ya kubadili json data na kuwaphp array ama php object. Kwa ufupi tunakwend aku decode json data kuwa phparray amaobject
Soma Zaidi...Katika somo hili utajifunza jinsi ambavyo utaweza kutengeneza mfumo wa kuisajiki na ku login, kisha kuangalia usalama wa mfumo kwa kuzuia sql injection.
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu Aina za cache header
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu Cross - Orgn Resource Sharing ama inafupishwa kama CORSE header
Soma Zaidi...Katika somo hili utajifunza kuhusu syntax za PHP
Soma Zaidi...Katika soko hili takwenda kujufunza jinsi ya kutuma sms kwa kutumia PHP. Hii itasaidia kama unataka kutuma OTP yaqni Onetime password
Soma Zaidi...