Computer, Uhlobo lwefayile
PHP: ifayile ukulayishwa kumncedisi
Ilayisha iifayile nge PHP - ityala umdla kakhulu, ukuba ekufuneka kuyiwe ngenyameko kakhulu. Kwi-Internet uyakwazi ukufumana imizekelo emininzi lokuphunyezwa lokulayisha ifayile, kodwa hayi bonke bephela elungileyo imithetho yokhuseleko.
izinto ezinjalo kufuneka ukuba azise ukuba esiphelweni, nokuba kuthatha ixesha elide. Ukuba ushiya umsantsa kwi khowudi, ngoko yonke umncedisi wakho sengozini.
ukuphepha
Nge PHP ifayile ukulayisha kumncedisi yenziwa lula. Ikhowudi lifutshane kakhulu kwaye kulula. Nje ezimbalwa imigca. Nangona kunjalo, le ndlela kuyingozi. ixesha elininzi kunye imigca lwekhowudi kude ekhuselekileyo.
Ingozi kukuba, ukuba asithanga senze uhlolo, nayiphi umhlaseli ukuba ulayishe zeempendulo zabo kwi server yakho. Kulo mzekelo, iya kuba ukufikelela ngokupheleleyo. Yena angenza nantoni na afuna:
- idathabheyisi;
- ukucima sites iifayile;
- guqula sites iifayile;
- ukongeza intengiso yakho kwi website yakho;
- umxokozelo iintsholongwane;
- zithumele bonke abasebenzisi kwisayithi zabo;
- kunye nezinye izinto ezininzi ezithi qatha umhlaseli.
Kufuneka usoloko khangela ukuba uzama ukulayisha ifayile kumsebenzisi. Umzekelo, ukuba ukulayisha imifanekiso kuphela, kubalulekile ukuqinisekisa ukuba ifayile umfanekiso ngokuchanekileyo. Kungenjalo, uya umxokozelo nantoni na.
Kanye ukuphumeza njani verification, iya kuboniswa, kunye script yoviwo ngqo layisha phezulu iifayile.
Ukudala ifomu PHP
ifayile ukulayishwa ilula kakhulu. Missing iqhosha lokukhangela iincwadi kunye nokulayisha amaqhosha.
Uchaza ukuba ukudala ngayo iifom ngeke ngoba kulula. imiyalelo Eminye Sicinga ukuba sele unayo nezimaphambili ezingundoqo ye HTML (kungenjalo akayi kuba efuna ulwazi malunga ukulanda kwi PHP).
Kodwa qaphela ukuba data kwi fomu kufuneka ukongeza lesiphumo enctype.
Kungenjalo, data kwi Umqheba ifayile akasayi nemithi.
Indlela inokusebenza?
Emva koko ke kuya kufuneka ukuba afumane indlela apho ibekwe ifayile.
Ukuba i umendo, enze isenzo kwakhona.
Emva ngokunqakraza kwi Umqheba download ifayile aqalise naluphi na ulwazi.
Umzekelo, ungakwazi ukubhala umgca esichaza ukuba ifayile 'makenjenje "igama ilayishwe ngokunempumelelo kwi" ndenjenje' ncwadi eneenkcukacha. Kakade ke, igama ifayile iya kunikwa kusoloko ezahlukeneyo.
Ngokuqhelekileyo, le nkcazelo isetyenziselwa ikhowudi isiphene. Ngoko ke kusenokwenzeka ukuba uqinisekise ukuba idatha ngesondo kwaye abhale kwenzeka kulawulo olufunayo. Oko kukuthi, igama wefayile akayibonisanga. Ekubeni olu lwazi chatha akazekeleli umsebenzisi.
Kwenza ingqondo kwimveliso igama kuphela xa umsebenzisi ukulandwa iifayile ezininzi. Oko kunjalo, cinga phambili umganyana. Makhe na ukufumana kuqala kunathi.
ukulungiswa
Xa PHP ifayile ukulayishwa kumncedisi ifuna izicwangciso ezithile, ekufuneka yenziwe kwi fayile php.ini. Le fayile iqulethe eninzi izicwangciso. Bonke akudingeki. Sinomdla esimigca mithathu: file_uploads, upload_tmp_dir kunye upload_max_filesize.
Nceda uqaphele ukuba ezi zicwangciso zizakuba kuchaphazela zonke iindawo zakho kumncedisi, nawuphi na umntu. Ngoko ke, ukuba ukucwangcisa ubungakanani ubuninzi isekelwe kwinto yokuba kuya kufuneka ukulayisha abasebenzisi. Ayikhuthazwa ukubeka ezinkulu kakhulu.
Wakuba utshintshe amaxabiso kwezi parameters, kufuneka kwakhona umncedisi. Kungenjalo izicwangciso ngeke zisebenze, njengoko sifunda ngexesha wolayisho umncedisi.
Ungakwenza oku console ngokudibanisa nge ssh kumncedisi. Faka nje inkonzo umyalelo httpd qala, kwaye ngoko ke izicwangciso uzakuthatha isiphumo.
Enye indlela - ukuqalisa ngokusebenzisa ISP-panel okanye umboneleli panel lokuhambisa.
ifayile Array
Xa PHP lokulayisha ifayile kwenziwa uluhlu $ _FILES. It iqulethe yonke inkcazelo malunga iifayile ukuba download.
Ukuze ubone ukuba iinkcukacha uqulathwe ku uluhlu, ngokwaneleyo ukuba ubhale kwi Umqheba zefayile elandelayo.
Khetha nayiphi na ifayile uze ucofe 'ukulayisha. " Kwiphepha Umqheba wengxolo we izakubonisa inkcazelo egcinwa $ _FILES. Variable ibhalwe ngokupheleleyo kunye noonobumba abakhulu. PHP - ulwimi-ethe.
Njengoko ubona, kule uluhlu has a lot of emasimini. Bonke bephela ezibalulekileyo kuthi. Intsimi lokuqala iqulathe igama lefayile ngendlela apho kuyo lisetyenziswa kwi khomputha yakho.
Ikholam Uhlobo elikhankanyiweyo uhlobo lwefayile. Tmp_name endle elivumelana igama ifayile yexeshana. Emva kokuphela script izakucinywa.
Intsimi Imposiso iqulethe ikhowudi yemposiso. Oku ngakumbi kancinci. Ubukhulu - ubukhulu kwi bytes.
iimpazamo
Wenziwe nge yokulayisha ifayile PHP lusoloko lalikhatshwa ikhowudi yemposiso. Umyalezo wemposiso wangena kwi "impazamo". Le Imposiso skrini zero.
Cinga ixabiso zonke iziphoso:
Apha luhlobo isampuli ukulayisha ifayile, nto leyo ibonisa umda isixa ifayile ezilayishwe.
PHP: ifayile sokulayisha script
Njengoko bonke wenziwe practice? Xa PHP ifayile ukulayisha kwenzeka ikopi yomyalelo. Ukuba unomdla umbuzo yendlela ukukhuphela ifayile, impendulo copy- elula, esebenzisa parameters ezimbini - ifayili imvelaphi kunye ifayile oya kuyo.
Kodwa, njengoko kucacisiwe apha ngentla, akangekhe kuphela ngenxa yezizathu zokhuseleko. Ngokomzekelo, khangela ukuba uhlobo lwefayile we nqanawa, ungasebenzisa uhlobo entsimini uluhlu $ _FILES. Okokuqala, makhe kujongana uhlolo, uze ugqithele script ngokupheleleyo
Masithi ufuna ukuvumela abasebenzisi ukulayisha ifoto kunye yesisombululo GIF kuphela, JPEG okanye PNG. Bonisa ukuba singafana nale.
ukuba ($ _ Layisha [ 'file_upload'] [ 'uhlobo']! = "image / gif") {
echo "Uxolo, sixhasa ukulanda kuphela Gif-Iifayile";
uphume;
}
Ukuba ufuna ukuthumela zonke iintlobo-3, faka nje imeko eyongezelelweyo kwezinye uhlobo lomfanekiso.
Ukukopisha kwenziwa ngolu hlobo: ikopi (umfanekiso 1, umfanekiso 2).
Kwimeko yethu, xa umsebenzi ulayisho ezantsi kwi PC kumncedisi, ungenza njalo
ikopi ($ _ Layisha [ 'file_upload'] [ "tmp_name"], "1.jpg")
Oko kukuthi, ifayili iza mayikotshelwe kunye negama le 1.jpg. Le nto ilungile ngokupheleleyo. Kulo mzekelo, kuyinto nje umzekelo. Igama lefayile kuyimfuneko kusoloko ukukhankanya ezahlukeneyo, kwaye ucacise ulwandiso, kuxhomekeka ifayile.
Ukumisela isandiso kunokuba ngeendlela ezahlukeneyo. Konke kuxhomekeke umbhekisi phambili erudition. Enye yeendlela fastest ukuba (a umahluko ozizahlulo lemizuzwana) limisele ulwandiso - oku ikhowudi elandelayo.
$ Path_info = pathinfo ($ _ Layisha [ 'photo1'] [ "igama"]);
$ Ext = $ path_info [ 'ulwandiso'];
Variable $ le ext siza kugcina ukwandiswa oyifunayo. Igama lefayile zingacwangciswa kwi esebenzisa MD5. Ukuba uceba ukukhuphela ezininzi iifayile, kungcono ukuba athumele ukuba ezineenkcukacha ezahlukeneyo. Ngoko kuya kuba lula ngakumbi. Ngokukodwa, ukuba ufuna ngocamagushelo.
ukuba ungalayisha ezantsi ikhowudi iza kuba ngolu hlobo lulandelayo.
/// Nge photo
ukuba ($ _FILES [ 'photo1'] [ 'tmp_name'] == null)
{
echo ( "
ifayile engaziwayo. strong> p>
uphume; } ///. Xela ukuba nayiphi na iprojekthi kumncedisi uvumelekile ukuba ukulayisha iifayile ezinkulu (ividiyo), kodwa kukho imifanekiso kuphela, kwaye abasebenzisi kufuneka ukuba anciphise ukuba (($ _FILES [ "photo1"] [ "ubungakanani"]> 1024 * 1024 * 2) { ?> ubuninzi bobungakanani sicikidiweyo 2 MB strong> uphume; } // iifolda // Ayinakwenza ulawulo lwenyanga yangoku ukuba (! file_exists ( "IMG /". umhla ( "M"))) { mkdir ( "IMG /" umhla ( "M").); } // Ayinakwenza ulawulo womhla yangoku ukuba (! file_exists ( "IMG /". umhla ( "M"). "/". umhla ( "d"))) { mkdir ( "IMG /" umhla ( "M") "/" umhla ( "d") ...); } /// ulwandiso lwefayile $ Path_info = pathinfo ($ _ Layisha [ 'photo1'] [ "igama"]); $ Ext = $ path_info [ 'ulwandiso']; /// ukwenza lefayile $ Id = MD5 (umhla ( "YMd")); ukuba (ikopi ($ _ Layisha [ 'photo1'] [ "tmp_name"], "IMG /". umhla ( "M"). "/". umhla ( "d"). "/". $ id. $ ext) ) { echo ( "ifayili ilayishwe ngempumelelo"); } /// okwenzayo (entry kwi-database, njalo njalo. N.) } Ilayisha iifayile ezininzi (PHP) yenzeka ngokusebenzisa ezinye iifildi kule fomu. Le ndlela akulunganga kakhulu, njengoko ubeka inani leefayile ukulayisha. Ngaphezu koko, loo nto ithathwa ifomu okubi kweenkqubo. Zama ukwenza yonke into enamandla. Le ndlela ifanelekileyo - yinto ukhethe inani elikhulu leefayile kwangoko ngokuthi ukucinezela iqhosha elinye. Ukuze wenze oku, ukwenza imilo le khowudi. iifayile ezininzi
P>
Form>
Qaphela ukuba kongezwe emininzi ilizwi, yaye igama anikwe njenge uluhlu []. Kulo mzekelo, $ _FILES uluhlu iya kwahluka kancinci. Uza kufumana i uluhlu lwe uluhlu.
Ukuvavanya unokuphinda ukusebenzisa var_dump ($ _ Layisha);
Zonke iifayile zakho ziya kufakwa kwi uluhlu efana nale:
- $ _FILES [ "file1"] [ "igama"] [0]
- $ _FILES [ "file1"] [ "igama"] [1]
- Kwaye njalo-njalo.
Kwindawo yegama ebhalwe inombolo ifayile kwi uluhlu. Ukubala ukusuka zero. Sibaphatha ngendlela efanayo, cela nje umjikelo kwaye ngokuqhagamshelana ikhowudi ezichazwe ngasentla ekupheleni isalathiso ukudibanisa [$ i].
$ I = 0;
lo gama ($ _FILES [ "file1"] [ "igama"] [$ i] <> '')
{
/// ukucola ikhodi ngaphezulu
}
Ngoko ke, kuya kufuneka ukuba kwenzeka ngokusebenzisa ukulayisha ifayile PHP kumncedisi kumjikelo omnye ngaphandle uphindaphindo okungeyomfuneko ikhowudi, njengoko kuqhele ukuba njalo ukuba usebenzisa uguqulelo kunye nenani kwamagxa iifayile (ifoto yokugqibela).
Similar articles
Trending Now