Amakhompyutha, Izinhlobo zamafayela
PHP: ifayela ukulayisha kwiseva
Ukulanda amafayela nge PHP - icala ezithakazelisa kakhulu, lapho kufanele wasondela ngokucophelela. Kuyi-Internet ungathola izibonelo eziningi ukuqaliswa yokulayisha ifayela, kodwa akuwona wonke umuhle futhi ukuhlangabezana iziqondiso zokuphepha.
Izinto ezinjalo kumele uze esiphethweni, ngisho noma kuthatha isikhathi eside. Uma ushiya igebe ikhodi, iseva yakho yonke ke kungenziwa ebucayini.
ukuphepha
Nge PHP ifayela ulayishe kwiseva wenziwa ngempela kalula. Ikhodi sifushane kakhulu futhi elula. Nje ezimbalwa imigqa. Nokho, le ndlela kuyingozi. isikhathi esiningi futhi imigqa yekhodi kude endaweni ephephile.
Ingozi iba ukuthi, uma ungenzi ukuhlolwa, iyiphi umhlaseli ungase ulayishe izikripthi zabo ku-server yakho. Kulokhu, ngeke ukufinyelela ngokugcwele. Angenza noma yini ayithandayo:
- ukususa database;
- ukususa amafayela amasayithi;
- guqula amafayela amasayithi;
- engeza isikhangiso sakho kuwebhusayithi yakho;
- download amagciwane;
- kabusha zonke abasebenzisi kumasayithi abo;
- kanye nezinye izinto eziningi ukuthi ezifika engqondweni umhlaseli.
Kufanele ngaso sonke isikhathi hlola ukuthi ezama ukulanda ifayela umsebenzisi. Ngokwesibonelo, uma ulayishe izithombe kuphela, kubalulekile ukuqinisekisa ukuthi ifayela isithombe ngokunembile. Uma kungenjalo, izolanda lutho.
Uqinisile ukuthi kusetshenziswe kanjani yokuqinisekisa, lizoboniswa, ne ngqo luhlolo iskripthi ukuze ulayishe amafayela.
Ukudala ifomu PHP
ifomu yokulayisha ifayela silula. Kulahleke inkinobho Pheqa futhi ukulayisha izinkinobho.
Uchaza ukudala amafomu ngeke kanjani, ngoba kulula. iziqondiso ezengeziwe ucabange ukuthi usunayo nemiqondo eyisisekelo-HTML (kungenjalo ubungeke ufuna ukwaziswa mayelana nokulanda ku PHP).
Kodwa uqaphele ukuthi idatha efomini udinga ukwengeza imfanelo enctype.
Kungenjalo, idatha ku ifayela isibambi ngeke ngocansi.
Indlela kufanele asebenze?
Ngemva kwalokho-ke kuyodingeka ukuthola indlela lapho ifayela itholakala.
Uma indlela aliveli, okwenza isenzo futhi.
Ngemva ngokuchofoza isibambi ukulanda ifayela anikeze noma iluphi ulwazi.
Ngokwesibonelo, ungakwazi ukubhala olayinini uthi ifayela "kangaka" igama silayishwe ngempumelelo kufolda "abanjalo futhi enjalo". Yiqiniso, igama lefayela uzonikezwa ezahlukene njalo.
Ngokuvamile, lolu lwazi isetshenziswa ikhodi sokulungisa iphutha. Ngakho kungenzeka ukuqinisekisa ukuthi idatha idluliselwa futhi uthi kwenzeke lwemibhalo oyifunayo. Lokho, ngisho igama lefayela aluboniswa. Njengoba lolu lwazi extra ukuthi umsebenzisi akudingeki.
Kunengqondo okukhipha igama kuphela uma umsebenzisi elanda amafayela amaningi. Kunjalo, cabangela kancane okunye. Ake awutholi kuqala kunathi.
ukulungiswa
Ngo PHP ifayela yokulayisha ukuze iseva idinga izilungiselelo ezithile, okuyinto kufanele kwenziwe ifayela php.ini. Leli fayela iqukethe eziningi izilungiselelo. Bonke asimdingi. Sinesithakazelo obuthathu: file_uploads, upload_tmp_dir futhi upload_max_filesize.
Sicela uqaphele ukuthi lezi izilungiselelo sizothinta zonke amasayithi wakho ku-server, hhayi nje noma ubani. Ngakho-ke, ukuze usethe usayizi esiphezulu esekelwe yokuthi uzoba ukulayisha abasebenzisi. It is hhayi Kunconywa ukusetha sikhulu kakhulu.
Uma ukushintsha amanani kulezi nemingcele, kudingeka uqale kabusha iseva. Kungenjalo izilungiselelo ngeke zisebenze, ngesikhatsi bafundza ngesikhathi umthwalo leseva.
Ungenza lokhu ku-console ngokuxhuma nge ssh kuseva. Vele ufake inkonzo umyalo httpd ukuqalisa phansi, bese izilungiselelo zizosebenza.
Enye indlela - ukuqalisa phansi ngokusebenzisa i-ISP-panel noma ngokusebenzisa lokukhokhisa iphaneli umhlinzeki.
ifayela Array
Ngo PHP yokulayisha ifayela kwenziwa amalungu afanayo $ _FILES. Iqukethe lonke ulwazi mayelana amafayela ukuthi ulande.
Ukuze ubone ukuthi yiluphi ulwazi oluqukethwe afanayo, ngokwanele ukubhala isibambi ifayela elandelayo.
Khetha noma iyiphi ifayela bese uchofoza "Layisha." Ekhasini isibambi izobonisa ulwazi ukuthi lilondolozwe $ _FILES. I variable kulotshiwe ngokuphelele ngonobumbakazi. PHP - ulimi-sensitive.
Njengoba ubona, kule afanayo has a lot of emasimini. Bonke bangabangasokile ibalulekile kuthina. Inkambu yokuqala iqukethe igama lefayela ngesimo lapho isetshenziswa kukhompyutha yakho.
Uhlobo ikholomu ecacisiwe uhlobo lwefayela. Tmp_name ensimini oluhambisana igama ifayela lesikhashana. Ngemva kokuphela iskripthi kuzosuswa.
Inkambu iphutha iqukethe ikhodi yephutha. Lokhu kwaba kancane okunye. Usayizi - ubungako amabhayithi.
amaphutha
Kwenziwa ngokusebenzisa ukulayisha ifayela PHP ngaso sonke isikhathi sihambisana ngekhodi yephutha. Umyalezo wephutha afakwe "Iphutha". Iphutha screenshot zero.
Cabanga ngezinzuzo zalokho wonke amaphutha:
Nasi ifomu isampula ukulanda ifayela, okhombisa ongu- inani efayeleni elilayishiwe.
PHP: ifayela ukulayisha isikripthi
Njengoba zonke kwenziwe umkhuba? Ngo PHP yokulayisha ifayela kwenzeka ikhophi umyalo. Uma unesithakazelo umbuzo kanjani ukulanda ifayela, impendulo copy- elula, esebenzisa amapharamitha amabili - ifayela umthombo kanye ifayela elamukelayo.
Kodwa, njengoba kuboniswe ngenhla, ngeke kube okulinganiselwe ngenxa yezizathu zokuphepha. Ngokwesibonelo, hlola onjani ifayela thina ngomkhumbi, ungasebenzisa uhlobo ensimini afanayo $ _FILES. Okokuqala, ake ukubhekana ukuhlolwa, bese uqhubekela iskripthi ngokugcwele
Ake sithi ufuna ukuvumela abasebenzisi ulayishe isithombe isinqumo kuphela-GIF, JPEG noma i-PNG. Khombisa kungaba kanje.
uma ($ _ amafayela [ 'file_upload'] [ 'uhlobo']! = "isithombe / gif") {
echo "Siyaxolisa, ukusekela kuphela ukulanda Gif-Amafayela";
ephumayo;
}
Uma ufuna ngomkhumbi zonke izinhlobo ezingu 3, vele ungeze isimo ezengeziwe ezinye uhlobo lomfanekiso.
Ukukopisha kwenziwa kanje: Ikhophi (isithombe 1, umfanekiso 2).
Esimweni sethu, lapho umsebenzi ilanda kusukela PC kwiseva, ungenza kanjalo
ikhophi ($ _ amafayela [ 'file_upload'] [ "tmp_name"], "1.jpg")
Okungukuthi, abangabantwana ifayela azokopishwa elinegama 1.jpg. Lokhu akunembile. Kulokhu, kuyafaneleka isibonelo. Igama lefayela njalo kunesidingo ukuze ucacise ezahlukene, futhi ucacise isandiso, kuye ngokuthi ifayela.
Thola isandiso kungaba ngezindlela ezahlukene. Konke kuncike unjiniyela erudition. Enye yezindlela esheshayo (umahluko eshumini amasekhondi) ukunquma isandiso - lena ikhodi esilandelayo.
$ Path_info = pathinfo ($ _ amafayela [ 'photo1'] [ "igama"]);
$ Ext = $ path_info [ 'isandiso'];
I variable $ le ext sizogcina isandiso oyifunayo. Igama ifayela lingasethwa nomaphi usebenzisa MD5. Uma uhlela ukuba ukulanda okuningi amafayela, kungcono ngomkhumbi ukuba amafolda ezahlukene. Ngakho-ke ngeke kube lula. Ikakhulukazi, uma ufuna ukususa.
ukulanda ikhodi kuyoba kanje.
/// Nge isithombe
uma ($ _FILES [ 'photo1'] [ 'tmp_name'] == null)
{
kwemisindo ( "
Ifayela engaziwa. strong> p> Emuva ... p> "); ephumayo; } ///. Ithi you phi kuphrojekthi iseva uvunyelwe ukulayisha amafayela amakhulu (video), kodwa kukhona izithombe kuphela, futhi abasebenzisi kudingeka nomkhawulo uma (($ _FILES [ "photo1"] [ "Usayizi"]> 1024 * 1024 * 2) { ?> kukasayizi ovunyelwe ka 2 MB strong> Emuva ... p> ephumayo; } // ukudala amafolda // udale ifolda lwenyanga samanje uma (! file_exists ( "img /". date ( "M"))) { mkdir ( "img /" usuku ( "M").); } // udale ifolda of the day wamanje uma (! file_exists ( "img /". date ( "M"). "/". date ( "d"))) { mkdir ( "img /" usuku ( "M") "/" usuku ( "d") ...); } /// lefayela $ Path_info = pathinfo ($ _ amafayela [ 'photo1'] [ "igama"]); $ Ext = $ path_info [ 'isandiso']; /// ukukhiqiza lefayela $-Id = MD5 (usuku ( "YMd")); uma (ikhophi ($ _ amafayela [ 'photo1'] [ "tmp_name"], "img /". date ( "M"). "/". date ( "d"). "/". $-id. $ ext) ) { kwemisindo ( "Ifayela ulayishe ngempumelelo"); } /// esinye isinyathelo (entry database, nokunye. N.) } Ukulayisha amafayela amaningi (PHP) kwenzeka esebenzisa izinkambu ezingeziwe efomini. Le ndlela kuyinto kahle, njengoba kukhawulela isibalo amafayela ukulanda. Ngaphezu kwalokho, kubhekwa ifomu embi izinhlelo. Zama ukwenza konke ashukumisayo. Inketho ekahle - it is a choice of inqwaba amafayela ngesikhathi esisodwa ngokucindezela inkinobho eyodwa. Ukuze wenze lokhu, dala ukuma sengathi le khodi. P> Ifomu> Qaphela ukuthi kwalokho eziningi izwi, futhi igama kunikezwa ngokuthi yi-array []. Kulokhu, $ _FILES afanayo kuyoba ukuhluka. Uzothola uxhaxha array. Ukuze ukuhlole ungakwazi futhi usebenzise var_dump ($ _ amafayela); Wonke amafayela akho zizofakwa ku array kanje: Ngo abakaki kulotshiwe inombolo ifayela afanayo. Ukubala kusuka zero. Sibaphatha ngendlela efanayo, nje cela umjikelezo futhi ngokuxhumana ikhodi ngenhla echazwe ekupheleni inkomba unezela [$ i]. $ Mina = 0; kuyilapho ($ _FILES [ "file1"] [ "igama"] [$ i] <> '') { /// unamathisele ikhodi ngenhla } Ngakho, kuzodingeka ukuba kwenzeke ngokusebenzisa yokulayisha ifayela PHP kwiseva komunye umjikelezo ngaphandle impinda engadingekile ikhodi, njengoba ngokuvamile kunjalo uma usebenzise inguqulo ngenombolo static amafayela (isithombe odlule). amafayela amaningi
Similar articles
Trending Now