PHP - somo la 38: Jinsi ya ku upload mafaili zaidi ya moja kwa kutumia PHP
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['fil...
Umeionaje Makala hii.. ?
Share On:
👉1 Tafasiri ya Riyadh Swalihina 👉2 web hosting 👉3 Kitabu cha Afya 👉4 Madrasa kiganjani 👉5 Simulizi za Hadithi Audio 👉6 Kitau cha Fiqh
Post zinazofanana:
PHP somo la 100: Jinsi ya kutumia sql moja kwa moja kwenye ORM ya RedBeanPHP
Katika somo hili utakwend akujifunz ajinsi ya kuandika query ndani ya ORM. Hii inakupa uhuru wa kufanya kileunachotaka bila ya kuathiri usalama wa project
Soma Zaidi...PHP somo la 75: Content-Type Header
Katika somo hili utakwenda kujifunza kuhusu content-type header.
Soma Zaidi...PHP - somo la 26: Jinsi ya kutengeneza system ya ku chat kw akutumia PHP
Katika somo hili utajifunza jinsi ya kutengeneza system ambayo mta atajisajili pamoja na kuchat na watumiaji wengine
Soma Zaidi...PHP somo la 92: Jinsi ya kuunganisha php na database ya sqlite
Katika somo hili utakwenda kujifunza jinsi ya kutumia database ya sqlite kwa kutumia PHP.
Soma Zaidi...PHP somo la 85: Jinsi ya utengeneza json data kwa utumia php
Katika somo hili utakwenda kujifunza Jinsi ya utengeneza json data kwa utumia php
Soma Zaidi...PHP somo la 65: Jinsi ya kusoma data kwenye database kwa kutumia PDO
Katika somo hili utakwenda kujifunza jinsi ya kusoma data kwenye database kwa kutumia PDO.
Soma Zaidi...