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
Jifunze zaidi, na wasiliana nasi ukiwa na App yetu. Bofya link hapo chini kuweza kuipakua.
Download NowKatika somo hili utajifunza kuhusu syntax za PHP
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu Authentication header, najinsi ya kutuma taarifa hizo na kuzisoma
Soma Zaidi...Katika somo hili utakwenda kuona namna ya kutuia if else kwenye data zilizopo kwenye database kwa kutumia PHP
Soma Zaidi...Katika somo hili utakwenda kujifunza concept ya iteration kwenye PHP OOP hapa tutakwenda kuiona jinsi inavyofanya kazi pamoja na foreach loop
Soma Zaidi...Faili la env ni moja kati ya mafaili ambayo ni muhimu kwa usalama wa project. Fili hili hutumika kuhifadhi data za siri
Soma Zaidi...Huu ni mwendelezo wa mafunzo ya PHP na hapa tunaaza rasmi advanced PHP. tutakwenda kuingia ndani zaidi kwenye PHP. Ni vyema kabla ya kuanza course hii ya advanced PHP uwe una uelewa wa kutosha kuhusu mafunzo yetu ya PHP.
Soma Zaidi...Katika somo hili tutakwenda kujifunza kuhusu array kwenye php, na jinsi zinavyoweza kufanya kazi
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kutengeneza ukurasa wa kupost kwa kutumia html form
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu Maana ya JSON na sheria za kuandika faili la json
Soma Zaidi...Katika somo hili utakwenda kujifunza jisniya kutuma email kwa kutumia PHPMailer kwenye project ya PHP. Katika somo hili tutakwend akutuma email kwa kutumia localhost.
Soma Zaidi...