KombiyuutaradaNooc file

PHP: file Upload in server

Degsado files via PHP - kiis aad u xiiso badan, kaas oo waa in si fiican dhawaaday. Internetka waxaad ka heli kartaa tusaalooyin badan oo ah hirgelinta Upload file, laakiin dhammaantiin ma aha iyaga wanaagsan yihiin iyo inay buuxiyaa sharciga badbaadada.

waxyaalaha caynkaas ah u baahan yihiin inay keenaan gabagabo, xitaa haddii ay waqti dheer qaadato inta. Haddii aad ka tagto farqiga ah ee code ka, ka dibna server oo dhan laguu balanqaadi karin.

ammaanka

Iyada oo PHP file geliyaan in server waa la fuliyay si sahal ah. code waa mid aad u gaaban oo fudud. Just laba qof oo ah khadadka. Si kastaba ha ahaatee, habkan waa khatar. waqti badan oo dheeraad ah iyo khadadka of code iska ammaanka.

Khatartu waxay tahay in, haddii aadan samayn kormeer, weeraryahanka kasta geliyaan yaabaa qabnay ay aad server. Xaaladdan oo kale, waxay yeelan doontaa marin buuxa. Waxa uu sameyn karaa wax kasta oo uu doonayo:

  • tirtirto database ah;
  • tirtirto goobaha files;
  • ka beddeli goobaha files;
  • ku dar aad ad in aad website,
  • download fayrusyada;
  • isugeeyey oo dhan users on goobaha ay;
  • iyo wax kale oo badan oo imanaya xusuusta weeraryahanka.

Waa in aad marwalba hubiso in isku dayaysa in ay soo bixi file ah user ah. Tusaale ahaan, haddii aad u geliyaan images oo kaliya, waxaa lagama maarmaan ah si loo xaqiijiyo in file waa sawir sax ah. Haddii kale, waxaad kala soo bixi doonaan wax.

Sida si ay u hirgeliyaan xaqiijinta, waxa la soo bandhigi doonaa, iyadoo script baaritaanka si toos ah geliyaan files.

Abuuritaanka qaab PHP a

foomka Upload file waa mid aad u fudud. La'yahay button caleenta iyo Upload badhamada.

Qeexaa sida si ay u abuuraan qaabab maayo, maxaa yeelay, waa wax sahlan. tilmaamaha dheeraad ah u qaadan in aad hore u leedahay fikradaha aasaasiga ah ee HTML (haddii kale aad aan doonaynin in la raadinaya warbixin ku saabsan soo degsado on PHP).

Laakiin ogow in xogta foomka aad u baahan tahay in aad ku darto sifo enctype ah.

Haddii kale, xogta on Handler file aan la kala qaado.

Sida ay u shaqeeyaan waa in?

Marka aad riix badhanka caleenta waa in aad aragto sanduuq halkaas oo codsaday in ay doortaan file a.

Ka dib markii in loo baahan doonaa si ay u helaan waddo halkaas file ku yaal.

Haddii jidka uusan ka muuqan, qabtaan tallaabada mar kale.

Ka dib markii gujinaya Handler download faylka ku siin kara macluumaad kasta.

Tusaale ahaan, waxaad ku qori kartaa line in uu dhigayaa in file waa "sidaa iyo sidaa" magaca ayaa si guul ah uploaded in folder "sida iyo sida". Dabcan, magaca faylka la siin doonaa mar walba kala duwan.

Sida caadiga ah, macluumaadkan waxaa loo isticmaalaa in code Debug. Sayidka waxaa suurtagal ah si loo xaqiijiyo in xogta la isugu gudbiyo oo qoray dhacaan buugga la doonayo. Taasi waa, xataa magaca file aan la tilmaamay. Tan iyo macluumaad this dheeraad ah in user uusan u baahan tahay.

Waxa macno si wax soo saarka magaca oo keliya haddii user ee downloads files badan. Kaasi waa kiiska, tixgelin yar oo dheeraad ah. Aan ka hor nafteena aan helin.

sixitaanka

In PHP Upload file in server u baahan yahay goobaha qaarkood, taas oo waa in lagu sameeyo file php.ini ah. file waxa ku jira wax badan oo ka mid ah goobaha. Waxay dhammaan annagu uma baahnin. Waxaan ku mashquulsan yihiin saddex lines: file_uploads, upload_tmp_dir iyo upload_max_filesize.

Fadlan la soco in goobaha kuwaas oo saamayn ku yeelan doontaa dhammaan goobaha aad on server ka, ma ahan oo keliya mid ka mid ah. Sidaa darteed, si ay u dejiyaan size ugu badan ku saleysan xaqiiqda ah in aad u yeelan doonaan in ay ku shuban isticmaala. Waxaa laguma talinayo in la dhigay mid aad u weyn.

Marka aad bedesho qiimaha in xuduudaheedu, waxaad u baahan tahay inaad guuleysatey server ka. Haddii kale goobaha ma hirgalin doono, sida ay akhriyaan waqtiga load server ka.

Waxaad ku samayn kartaa in Console ku xira via Ssh in server ka. Si fudud u galaan qeybtii adeega amarka httpd ah, ka dibna goobaha hirgalin doono.

Hab kale - qeybtii labaad ah iyada oo loo marayo ISP-guddi ama bixiyaha guddi biilka.

file Array

In PHP Upload file waxaa loo sameeyaa by safi $ _FILES. Waxaa ku jira dhammaan macluumaadka ku saabsan files ah in aan ku soo bixi.

Si aad u aragto macluumaadka ku jira oo isdiyaarin kara, oo ku filan in ay qoraan in Handler file soo socda.

Dooro file kasta oo guji "Kasoorar." Bogga Handler wuxuu muujin doonaa macluumaadka waxa lagu kaydiyaa $ _FILES. variable waxaa gebi ahaanba ku qoran warqado caasimadda. PHP - af-xasaasi ah.

Sida aad arki karto, soo diyaariyeen this leedahay wax badan oo ka mid ah beeraha. Dhamaan iyaga ka mid ah waa noo muhiim. duurka ugu horeeyay ee ku jira magaca file foomka, taas oo loo isticmaalo on your computer ah.

column Nooca cayimay nooc file. beerta Tmp_name u dhiganta magaca faylka ku meel gaar ah. Ka dib dhammaadka script ah laga tirtirayaa.

duurka Baadi wuxuu ka kooban code qalad. Tani waxa ay ahayd wax yar oo dheeraad ah. Size - size ee bytes.

khaladaadka

Fuliyay iyada oo loo marayo Upload file PHP waxaa had iyo jeer la socdo code qalad. fariin qalad ah ka galeen "qalad" ka. Baadi shaashada waa eber.

Tixgeli qiimaha qalad oo dhan:

Waxaa lagu yidhi kor ku xusan oo ku saabsan dhimaya in la cayimay karaa HTML caadiga ah.

Halkan waxaa ku qoran tusaale ah in ay soo bixi file ah, taas oo muujinaysaa xadka ah xaddiga file uploaded.

PHP: file script Upload

Sida oo dhan fuliyay in la fuliyo? In PHP Upload file dhacdaa nuqul amarka. Haddii aad xiisaynayso in su'aasha ah ee sida loo download file ah, jawaabtu waa copy- fudud, taas oo uu isticmaalaa laba xuduudaheedu - file isha iyo file Ahaado.

Laakiin, sida kor ku xusan, ma noqon karto kooban sababo ammaanka. Tusaale ahaan, hubi nooca file aan markab, waxaad isticmaali kartaa nooca duurka ku soo diyaariyeen ah $ _FILES. First, aynu la kormeer ka qaban, ka dibna u guurto on in script buuxa

Aan niraahno aad rabto in aad u ogolaadaan isticmaalayaasha inay sawir la leh xal of kaliya GIF, jpeg ama PNG. Muuji waxay noqon kartaa sidan oo kale.

haddii ($ _ faylasha [ 'file_upload'] [ 'nooca']! = "image / gif") {
celinayaan "Sorry, waxaan taageerada kaliya degsado gif-Files";
exit,
}

Haddii aad rabto in markab oo dhan 3 nooc, si fudud ku dari xaalad dheeraad ah si ay nooca kale ee image.

Koobiyeynta waxaa loo sameeyaa sidan oo kale: nuqul (image 1, image 2).

In naga kiiska, marka shaqada la soo degsado ka PC si server ka, aad sidaas u samayn karaa

nuqul ($ _ faylasha [ 'file_upload'] [ "tmp_name"], "1.jpg")

Taasi waa, file waa la soo guuriyeen doonaa 1.jpg magaca. Tani ma aha arrin sax ah. Xaaladdan oo kale, waa tusaale kaliya. magaca file ayaa had iyo jeer loo baahan yahay in la qeexo kala duwan, iyo qeex dheeraad ah, taas oo ku xidhan faylka.

Go'aaminta kordhin wuxuu noqon karaa siyaabo kala duwan. Waxaa oo dhan waxay ku xiran tahay sameeysa ee erudition. Mid ka mid ah siyaabaha ugu dhaqsiyaha badan in (farqi ah meelood seconds) go'aamiyo kordhinta - taasi waa code ee soo socda.

$ Path_info = pathinfo ($ _ faylasha [ 'photo1'] [ "magaca"]);

$ Ext = $ path_info [ 'dheeraad'];

variable $ ext The aan ku urursan doonaa kordhin la doonayo. magaca file A ayaa lagu wadaa kartaa random isticmaalaya md5. Haddii aad qorsheyneysid inaad soo bixi badan oo files, waxa fiican in aad iyaga markab inay fayl kala duwan. Oo saasay wada noqon doonaa dheeraad ah oo ku haboon. Gaar ahaan, haddii aad rabto in aad u safeeyo.

si ay u soo bixi code wuxuu noqon doonaa sida soo socota.

/// Iyadoo sawir

haddii ($ _FILES [ 'photo1'] [ 'tmp_name'] == waxba)

{

echo ( "

file Lama yaqaan.

Back ... ");

exit,

}

///. waxaad dhahdaa mashruuc kasta oo ku saabsan server waa la ogol yahay in ay ku shuban files waaweyn (video), laakiin waxaa jira kaliya hal sawir, iyo dadka isticmaala waxay u baahan yihiin in la xadido

haddii (($ _FILES [ "photo1"] [ "size"]> 1024 * 1024 * 2)

{

?>

badnaan size loo ogol yahay oo ah 2 MB

Back ...

exit,

}

abuuro // fayl

// abuuro gal ah oo bishii hadda

haddii (! file_exists (taariikh "img /". ( "M")))

{

mkdir ( "img /" taariikhda ( "M").);

}

// abuuro gal ah ee maalinta hadda

haddii (! file_exists (taariikh "img /". ( "M"). "/". taariikhda ( "d")))

{

mkdir ( "img /" taariikhda ( "M") "/" taariikhda ( "d") ...);

}

/// file kordhin

$ Path_info = pathinfo ($ _ faylasha [ 'photo1'] [ "magaca"]);

$ Ext = $ path_info [ 'dheeraad'];

dhalin /// filename

$ Id = md5 (taariikh ( "YMd"));

haddii (nuqul ($ _ faylasha [ 'photo1'] [ "tmp_name"], taariikhda "img /". ( "M"). "/". taariikhda ( "d"). "/". $ id. $ ext) )

{

echo ( "File si guul ah uploaded");

}

/// wax tallaabo dheeraad ah (entry in database ah, iyo wixii la mid ah N..)

}

files badan

Uploading faylasha badan (PHP) dhacdaa by yahay ee beeraha dheeraad ah foomka.

Habkani ma aha mid aad u wanaagsan, sida uu ku xadidayaa tirada files in ay ka soo dejisan. Waxaa intaa dheer, waxaa la tixgeliyaa qaab xun ee barnaamijyada. Isku day in ay sameeyaan wax walba oo firfircoon.

Fursada ugu fiican - waa doorasho ah tiro badan oo ah files mar adigoo riixaya badhanka hal a.

Si arrintan loo sameeyo, la abuuro qaab sida code this.

Ogsoonow in dheer ee kala duwan ee erayga, iyo magaca waxaa la bixiyaa sidii diyaariyeen ah []. Xaaladdan oo kale, $ _FILES isugu soo noqon doonaa wax yar ka duwan. Waxaad heli doontaa soo diyaariyeen ah ee soo diyaariyeen ah.

Si ay u tijaabiso mar kale isticmaali kartaa var_dump ah ($ _ files);

All files aad waxaa lagu qori doonaa diyaariyeen sidan oo kale:

  1. $ _FILES [ "file1"] [ "magaca"] [0]
  2. $ _FILES [ "file1"] [ "magaca"] [1]
  3. Oo sidaas daraaddeed on.

In parentheses waxa ku qoran lambarka faylka isugu soo diyaariyeen ah. Laga bilaabo eber. Waxaan ula dhaqmaan si la mid ah, weydii kaliya wareegga iyo adigoo la xiriiraya code kor ku tilmaamay dhamaadka index ku daray [$ i].

$ Waxaan = 0;

halka ($ _FILES [ "file1"] [ "magaca"] [$ i] <> '')

{

/// paste code ee kor ku xusan

}

Sidaas darteed, waxaad yeelan doontaa in ay ka dhacaan iyada oo Upload file PHP ah in server ee hal wareeg oo aan ku celcelin aan loo baahnayn ee xeerka, sida inta badan waa kiiska, haddii aad isticmaasho version la tiro ma guurto ah ee files (photo soo dhaafay).

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 so.birmiss.com. Theme powered by WordPress.