PHP - somo la 36: Jinsi ya ku upload taarifa za mafaili kwenye database kw akutumia PHP

katika somo hili utajfunza kukusanya taarifa za mafaili. kisha ku upload hayo mafaili. kisha kuandika hizo taarifa za mafaii kwenye database

Katika somo hili tutakwenda kuona jinasi ya ku upload mafaili kwenye database pia ku upload taarifa za faili kwenye database. Katika somo hili pia utajifunza namna ya ku retrive taarifa za mafaili kwenye database pia kufuta faili. 

 

YALIYOMO:-

  1. Ku upload taarifa za faili

  2. Ku upload faili

  3. Ku retrive faili na taarifa zake

  4. Ku futa faili kwenye database

  5. Kufuta faili kwenye folda

  6. Ku download faili

  7. Njia nzuri ya kuhifadhi mafaili

 

Katika somo hili tutaendelea kutumia code zetu kutoka katika somo lililotangulia. Japo tutazikata ili kupunguza uwingi wa code ambazo hazitatumika.

 

  1. Ku upload taarifa za faili:

Ku upload faili kwenye database kuna namna kuu mbili. Namna ya kwanza ni kuhifadhi taaifa za faili kwenye database. Yaani ipi hivi failu linakuwa kwenye storage ama server wakati wa ku upload, kisha kwenye database unaweza taarifa za hilo faili. Hii itasaidia kujuwa wapi faili lipo ili kuweza kulitumia unapolitaka.

 

Njia hii ni kama ambayo imetangulia. Ni kuwa una upload faili kwenye folda unalotaka kwenye server kisha taarifa zake ndio huenda kwenye database. Kwa kutumia taarifa hizo inakuwa rahisi kulifunguwa faili hilo.

 

Ni matumaini yangu kuwa umeshapitia mafunzo yetu ya php level 2. Ambapo utakuwa unatambuwa jinsi ya ku connect database, pia jinsi ya kuingiza taarifa kwenye database. Hivyo basi na hapa tunatumia namna hiyohiyo. 

 

Kwa kuwa taarifa za faili ketu tunazo kwenye variable hivyo basi tutatumia hizo variable kwenye ku insert kwenye database. Taarifa ambazo tunakwenda kuingiza ni jina la faili, aina ya faili na ukubwa wake. Hivyo variable zake zitaluwa hizi:-

//kujuwa jina la faili

$fileName = $_FILES["myFile"]["name"];

// kujuwa ukiubwa wa faili

$fileSize = $_FILES["myFile"]["size"];

//kujuwa aina ya faili

$fileType = $_FILES["myFile"]["type"];

 

Sasa kinachofuwata ni kutengeneza table kwenye database. Katika mfano wa hapo chini nimetumia jina la database test na table files Table yetu tutaiita faili ambapo inatakuwa na column 4, ya kwanza ni ya id ambapo type ni int, itabidi iwe AI yaani auto increment, ya pili ni name ambapo type ni string, na length unaweza weka 255, ya tatu ni size ambapo type itakuwa int, na ya mwisho ni type na aina yake ni string.

 

Sasa kwa kuwa tayari table tunayo kilichobaki ni kuingiza taarifa hizo kwenye table yetu. KUinsert taarifa kwenye databse utatumia insert into files (name, size, type) VALUES (hapa utaweka variable za hizo data.). Code nzima itaonekana hivi

$sql="INSERT INTO medias (name, size, type) VALUES ('$fileName', '$fileSize', '$tyleType')";

 

Kama utakuwa umeshafahamu jinsi hizo code zinavtyofanya kazi, basi kinachofata ni kuzichanganya na code zilizotangulia:

<html>

<head>

   <title>upload</title>

   <meta name="viewport" content="width=device-width=100%">

</head>

<body>

<form  method="post" action="#" enctype="multipart/form-data">

   <label>Select File:</label>

   <input type="file" name="myFile">

   <input type="submit" name="submit" value="Upload">

</form>

 

 

 

<?php if (isset($_POST["submit"])) {

   //folda la kuhifadhia

   $folda = "upload/";

   //kujuwa jina la faili

   $fileName = $_FILES["myFile"]["name"];

   // kujuwa ukiubwa wa faili

   $fileSize = $_FILES["myFile"]["size"];

   //kujuwa aina ya faili

   $fileType = $_FILES["myFile"]["type"];

   //kujuwa mahala lilipo link yake

   $fileLocation = $_FILES["myFile"]["tmp_name"];

   //Kujuwa error code

   $errorCode = $_FILES["myFile"]["error"];

   //Kujuwa file extension

   $fileextension = pathinfo($fileName, PATHINFO_EXTENSION);

   //fomati zinazotakiwa

   $format = ["jpg", "jpeg", "gif", "pdf"];

 

   /*  //kuonyesha taarifa kwenye browser

     echo "Filename: " . $fileName . "<br>";

     echo "Type : " . $fileType . "<br>";

     echo "Size : " . $fileSize . "<br>";

     echo "Temp name: " . $fileLocation . "<br>";

     echo "Error : " . $errorCode . "<br>";

     echo "Extension:" . $fileextension . "<br>";

 */

   //kuangalia kama faili lipo

   if (

   file_exists(

       $folda .

       date("d" . "-" . "m" . "-" . "y" . "-") .

       str_replace(" ", "-", $fileName)

   )

   ) {

       echo "sorry file exist". "<br>";

   }

   // dhibiti ukubwa wa faili

   if ($_FILES["myFile"]["size"] > 5000000) {

       echo "file is too large." . "<br>";

   }

   //if (!in_array($fileextension, $format)){echo 'file is not allowed';

   //}

 

   // mafaili yanayotakiwa

   if (

       $fileextension != "jpg" &&

       $fileextension != "png" &&

       $fileextension != "jpeg" &&

       $fileextension != "gif" &&

       $fileextension != "pdf"

   ) {

       echo "file is not allowed";

   } else {

       if (

       move_uploaded_file(

           $fileLocation,

           $folda .

           date("d" . "-" . "m" . "-" . "y" . "-") .

           str_replace(" ", "-", $fileName)

       )

       ) {

           echo "successful";

       } else {

           echo "unsuccessful";

       }

 

   }

   echo "<br><br>";

//$servername = "localhost";

   $servername = "localhost";

   $username = "root";

   $password ="";

   $dbname = "test";

 

// Kufanya connection

 

   $conn=mysqli_connect($servername,  $username,$password,$dbname);

 

// kuangalia connection

 

   if(!$conn){die("Connection failed: ".mysqli_connect_error());

 

   }

   $sql="INSERT INTO files (name, size, type) VALUES ('$fileName', '$fileSize', '$fileType')";

 

 

   if(mysqli_query($conn, $sql)){echo "faili limepakiwa";

 

   }else{

       echo "Kuna tatizo".mysqli_error($conn);

 

   }mysqli_close($conn);

}

 

echo "<br><br>";

 

?>

 

 

Kama umefanikiwa ku upload basi kwenye databse yako mafaili yataweza kuonekana kama hivi:-

 

Mpaka kufikia hapo tumeweza ku upload taarifa za faili kwen ye database. Unaweza ku upload taarifa zaidi na zaidi kadiri unavyohitaji. Sasa kwa kutumia taarifa hizo unaweza kulifikia faili ambalo lipo kwenye folda. 

 

  1. Ku upload faili moja kwa moja kwenda kwenye da">...

    Jiunge nasi WhatsApp kupata update zetu

    Zoezi la Maswali

    Nyuma Endelea


    Umeionaje Makala hii.. ?

    Nzuri            Mbaya            Save
    Author: Rajabu image Tarehe: 1970-01-01 03:33:44 Topic: PHP Main: ICT File: Download PDF Views 482

    Share On:

    Facebook WhatsApp
    Sponsored links
    👉1 kitabu cha Simulizi    👉2 Tafasiri ya Riyadh Swalihina    👉3 Dua za Mitume na Manabii    👉4 Kitabu cha Afya    👉5 Simulizi za Hadithi Audio    👉6 web hosting   

    Post zinazofanana:

    PHP somo la 56:class interface na polymorphism kwenye PHP OOP

    Katika somo hili utakwenda kujifunza concept ya interface na concept ya polymorphism kwenye PHP OOP.

    Soma Zaidi...
    PHP somo la 72: Jinsi ya kuandaa PDF kutoana na data zilizopo kwenye database

    hapa utawenda utuma database wa ajl ya utengeneza maudhu ya PDF.

    Soma Zaidi...
    PHP somola 69: jinsi ya kutuma email kwa watu zaidi ya mmoja kwa kutumia PHPMailer

    Katika somo il utajifunza kutuma email kwa watu wengi kwa kutumia PHPMailer. Pia utajifunza jinsi ya kuweka Carbon Copy na Blind Carbon Copy

    Soma Zaidi...
    PHP somo la 66: Jinsi ya ku edit data na kufuta kwenye database kwa kutumia PDO

    Katika somo hili utakwenda kujifunza jinsi jinsi ya ku edit ama ku update data na kuzifuta kwenye database kwa kutumia PDO

    Soma Zaidi...
    PHP - somo la 46: Nini maana ya cronjob na matumizi yake

    Katika somo hili utajifunza kuhusu cronjob na matumizi yake kwenye PHP

    Soma Zaidi...
    PHP somo la 93: Jinsi ya kutumia faili la env

    Faili la env ni moja kati ya mafaili ambayo ni muhimu kwa usalama wa project. Fili hili hutumika kuhifadhi data za siri

    Soma Zaidi...
    PHP - somo la 41: Jinsi ya kufanya hashing kwenye PHP

    Katika somo hili utajifunza jinsiya kufanya hashing taarifa muhimu kama password. Kufanya hashing kunaongeza usalama wa taarifa za waumiaji kwenye blog yako.

    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 37: Jinsi ya kutengeneza blog post kwa kutumia PHP

    Katika somo hili utajifunza jinsi ambavyo unaweza kutengeneza blog ambayo utaweza ku upload faili na kuandika makala kwa kutumia PHP

    Soma Zaidi...
    PHP - somo la 15: Jinsi ya kutengeneza table kwenye database kwa kutumia PHP

    Katika somo hili utakwenda kujifunza jinsi ya kutumia PHP kutengeneza tabale kwenye database ya mysql .

    Soma Zaidi...