RíomhairíCineálacha Comhad

PHP: comhad a uaslódáil chuig an bhfreastalaí

Is ábhar an-suimiúil é comhaid a íoslódáil trí PHP, agus ba cheart duit cur chuige go cúramach. Ar an Idirlíon, is féidir leat go leor samplaí a fháil de chur i bhfeidhm íoslódálacha comhad, ach níl siad uile go maith agus comhlíonann siad rialacha slándála.

Ba chóir rudaí den sórt sin a thabhairt chun críche, fiú má tharlaíonn sé i bhfad. Má fhágann tú poll sa chód, d'fhéadfadh go mbeadh do fhreastalaí ar fad i mbaol.

Slándáil

Le PHP comhad a uaslódáil chuig an bhfreastalaí i gcrích go leor go héasca. Tá an cód an-ghearr agus simplí. Díreach cúpla líne. Ach tá an modh sin contúirteach. I gcás ina gcaitear níos mó ama agus línte cód ar shlándáil.

Is é an baol ná má dhéanann tú aon seiceálacha, beidh aon ionsaitheoir in ann a gcuid scripteanna a íoslódáil chuig do fhreastalaí. Sa chás seo, beidh rochtain iomlán aige. Is féidir leis aon rud a theastaíonn uaidh a dhéanamh:

  • Scrios an mbunachar sonraí;
  • Scrios comhaid láithreáin;
  • Athraigh comhaid láithreáin;
  • Cuir do chuid fógraí ar do shuíomh;
  • Íoslódáil víris;
  • Atreorú gach úsáideoir ar a láithreáin;
  • Agus i bhfad níos mó a thiocfaidh an buirgléire chun cuimhne.

Ní mór duit i gcónaí a sheiceáil cén cineál comhaid atá ag an úsáideoir a luchtú. Más rud é, mar shampla, go n-uaslódáil tú grianghraif amháin, is gá duit a sheiceáil go bhfuil an comhad seo go díreach ar an íomhá. Seachas sin, beidh tú ag luchtú le haon rud.

Taispeánfar conas an tástáil a chur i bhfeidhm níos déanaí, nuair a dhéanann tú scrúdú díreach ar an script íoslódáil comhaid.

Foirm PHP a chruthú

Breathnaíonn an fhoirm íoslódála comhaid an-simplí. Go leor de na cnaipí athbhreithnithe agus na cnaipí a íoslódáil.

Ní chuirfimid síos ar chruthú an fhoirm, ós rud é go bhfuil sé éasca. Glacann treoracha breise go bhfuil coincheapa bunúsacha HTML agat cheana féin (ar shlí eile ní bhfaighfeá eolas faoi luchtú i PHP).

Ach tabhair faoi deara gur gá sonraí a aistriú sa bhfoirm, ní mór duit an tréith enctype a chur leis.

Seachas sin, ní dhéanfar sonraí maidir leis an láimhseálaí comhad a tharchur.

Cén chaoi ar chóir an obair seo a dhéanamh?

Nuair a chliceálann tú ar an gcnaipe brabhsáil, ba chóir duit fuinneog a oscailt, áit a iarrfar ort comhad a roghnú.

Tar éis sin, ba chóir go mbeadh an cosán le feiceáil ina bhfuil an comhad suite.

Mura bhfuil an cosán le feiceáil, déan é seo arís.

Tar éis cliceáil ar an gcnaipe íoslódáil leis an gcomhad láimhseálaí, is féidir leat aon fhaisnéis a thabhairt amach.

Mar shampla, is féidir leat líne a scríobh ag rá go ndearnadh comhad le "ainm den sórt sin agus dá leithéid" a uaslódáil go rathúil chuig fillteán "den sórt sin agus dá leithéid". Ar ndóigh, beidh ainm an chomhaid i gcónaí difriúil.

De ghnáth, úsáidtear an fhaisnéis mhionsonraithe seo chun an cód a dhífhabhtú. Ar an mbealach seo, is féidir leat a sheiceáil go bhfuil na sonraí á n-aistriú agus go bhfuil an taifead ag dul chuig an eolaire a theastaíonn uait. Is é sin, fiú ní léiríonn ainm an chomhaid. Toisc gur faisnéis bhreise é seo nach gá don úsáideoir.

Déanann sé ciall le sonraí aschuir faoin ainm ach amháin má tá roinnt comhaid ualach ag an úsáideoir. Beimid ag smaoineamh ar an gcás seo beagán breise. Ní rachaidh muid ar aghaidh.

Saincheap

I PHP, éilíonn comhad a uaslódáil chuig freastalaí socruithe áirithe a dhéanamh sa chomhad php.ini. Tá a lán socruithe sa chomhad seo. Ní gá dúinn iad uile. Tá suim againn i dtrí líne: file_uploads, upload_tmp_dir agus upload_max_filesize.

Tabhair faoi deara go mbeidh tionchar ag na suímh seo ar do chuid suímh ar fad ar an bhfreastalaí, ní hamháin ar cheann acu. Dá bhrí sin, socraigh an méid is mó bunaithe ar an méid a bheidh tú ag uaslódáil úsáideoirí. Ní mholtar luachanna ró-mhór a leagan síos.

Tar éis duit na luachanna a athrú sna suíomhanna seo, ní mór an freastalaí a athshuíomh. Seachas sin, ní bheidh na socruithe i bhfeidhm, ós rud é go léitear iad tráth luchtú an fhreastalaí.

Is féidir leat é seo a dhéanamh sa chonsól trí nasc a dhéanamh tríd an SSH chuig an bhfreastalaí. Is leor dul isteach ar atosú httpd na seirbhíse orduithe, agus tar éis go mbeidh éifeacht ag na socruithe.

Is bealach eile é a atosú tríd an bpainéal ISP nó trí phainéal billeála an tsoláthraí.

Arraigh le comhad

I PHP, luchtaítear an comhad ag baint úsáide as an eagar $ _FILES. Tá an fhaisnéis uile ann maidir leis na comhaid a íoslódálfaimid.

D'fhonn a fháil amach cén cineál faisnéise atá sa tsraith seo, is leor an méid seo a leanas a scríobh sa chomhad láimhseálaí.

Roghnaigh aon chomhad agus cliceáil "Íoslódáil." Taispeánann an leathanach láimhseálaí faisnéis a stóráiltear i $ _FILES. Tá an t-athróg scríofa go hiomlán le litreacha móra. Is teanga cás íogair é PHP.

Mar a fheiceann tú, tá go leor réimsí san eagar seo. Tá gach ceann acu tábhachtach dúinn. Déanann an chéad réimse an t-ainm comhaid a stóráil sa bhfoirm ina n-úsáidtear é ar do ríomhaire.

Léiríonn an colún cineál an cineál comhaid. Freagraíonn an tmp_name réimse d'ainm an chomhaid shealadaigh. Tar éis an script a chríochnú, scriosfar é.

Déanann an réimse earráide an cód earráide a stóráil. Maidir leis seo beagán breise. Méid - méid i bytes.

Earráidí

Tá cód earráide ag gabháil le híoslódáil comhaid trí PHP i gcónaí. Tá an teachtaireacht earráide faoi iamh sa réimse "earráid". Sa scáileán, is é nialas an earráid.

Smaoinigh ar luachanna na n-earráidí go léir:

Thairis sin dúirt sé faoin paraiméadar, is féidir a shonrú sa ghnáth-HTML.

Seo sampla de fhoirm chun comhad a uaslódáil, i gcás ina bhfuil teorainn sonraithe i méid an chomhaid atá á uaslódáil.

PHP: script íoslódáil comhad

Cén chaoi a ndéantar gach rud i gcleachtas? I PHP, luchtaítear an comhad leis an ordú cóip. Má bhí suim agat sa cheist maidir le conas comhad a uaslódáil, is é an freagra a chóipeáil ach a úsáideann dhá pharaiméadar - an comhad foinse agus an comhad ceann scríbe.

Ach, de réir mar a scríobhadh thuas, ní féidir é seo a theorannú ar chúiseanna slándála. Mar shampla, chun an cineál comhad atá á luchtú againn a sheiceáil, is féidir linn an cineál réimse a úsáid san eagar $ _FILES. Gcéad dul síos, déanfaimid amach é le tástáil, agus ansin déanfaimid bogadh ar aghaidh chuig an script iomlán

Deir linn gur mian leat d'úsáideoirí grianghraf a uaslódáil le réiteach ach GIF, JPEG nó PNG. Is féidir leat é a shonrú mar seo.

Má ($ _ FILES ['file_upload'] ['type']! = "Image / gif") {
Echo "Tá brón orainn, tacaímid le híoslódáil ach comhaid Gif";
Scoir;
}

Más mian leat na 3 chineál ar fad a iompar, cuir coinníoll breise le cineál eile íomhá.

Déantar cóipeáil mar seo: cóip (comhad 1, comhad 2).

Sa chás seo, nuair a théann an obair leis an íoslódáil ón ríomhaire chuig an bhfreastalaí, is féidir leat é sin a dhéanamh

Cóip ($ _ FILES ['file_upload'] ["tmp_name"], "1.jpg")

Is é sin, déanfar an comhad a chóipeáil leis an ainm 1.jpg. Níl sé seo go hiomlán ceart. Sa chás seo, is sampla amháin é seo. Ní mór an t-ainm comhad a shocrú i gcónaí, agus ba cheart an síneadh a shonrú ag brath ar an gcomhad.

Is féidir leat an síneadh a shainmhíniú ar go leor bealaí. Braitheann sé go léir ar chreidiúint an fhorbróra. Is é ceann de na bealaí is tapúla (an difríocht i ndeichiú soicind) de shíneadh a shainmhíniú ná an cód seo a leanas.

$ Path_info = pathinfo ($ _ FILES ['photo1'] ["name"]);

$ Ext = $ path_info ['síneadh'];

Sa athróg $ ext déanfaimid an síneadh riachtanach a stóráil. Agus is féidir ainm an chomhaid a leagan amach go randamach ag baint úsáide as md5. Má tá sé i gceist agat go leor comhad a íoslódáil, is fearr iad a luchtú i bhfillteáin éagsúla. Mar sin beidh sé níos áisiúla. Go háirithe más mian leat é a ghlanadh.

Is é seo a leanas an cód a íoslódáil.

/// ar fáil grianghraif

Más rud é ($ _FILES ['photo1'] ['tmp_name'] == null)

{

Echo ("

Níl aon chomhad sonraithe.

Ar ais ... ");

Scoir;

}

///. Deirimid go bhfuil cead agat comhaid mhóra (físeán) a uaslódáil le haghaidh tionscadail ar an bhfreastalaí, ach ní bheidh ach grianghraif ann, agus ní mór d'úsáideoirí teorainn a chur

Más rud é (($ _FILES ["photo1"] ["méid"]> 1024 * 1024 * 2)

{

?>

Is é 2 MB an t-uasmhéid íomhá a cheadaítear

Ar ais ...

Scoir;

}

// cruthaigh fillteáin

// cruthaigh fillteán na míosa reatha

Más (! File_exists ("img /" Dáta ("M")))

{

Mkdir ("img /". Dáta ("M"));

}

// cruthaigh fillteán den lá atá inniu ann

Más (! File_exists ("img /". Dáta ("M"). "/" Dáta ("d")))

{

Mkdir ("img /". Dáta ("M"). "/". Dáta ("d"));

}

/// síneadh comhad

$ Path_info = pathinfo ($ _ FILES ['photo1'] ["name"]);

$ Ext = $ path_info ['síneadh'];

/// ainm an chomhaid a ghiniúint

$ Id = md5 (dáta ("YMd"));

Más rud é (cóip ($ _ FILES ['photo1'] ["tmp_name"], "img /" date ("M"). "/". Dáta ("d"). "/". $ Id. $ Ext) )

{

Echo ("comhad a íoslódáil go rathúil");

}

/// aon ghníomhartha eile (scríobh chuig an mbunachar sonraí, etc.)

}

Comhaid iolracha

Tarlaíonn comhad ilghnéitheach (PHP) ag baint úsáide as réimsí breise sa bhfoirm.

Níl an modh seo an-mhaith, mar a theorannann sé líon na gcomhad a íoslódáil. Thairis sin, meastar go bhfuil droch-ton i gcláir. Déan iarracht gach rud a dhéanamh dinimiciúil.

Is é an rogha idéalach an cumas líon mór comhaid a roghnú ag an am céanna trí cnaipe amháin a bhrú.

Mar sin, cruthaímid an fhoirm leis an gcód seo.

Tabhair faoi deara go gcuirtear an focal il leis, agus go bhfuil an t-ainm sonraithe mar shraith []. Sa chás seo, beidh an sraith $ _FILES beagán difriúil. Gheobhaidh tú sraith i sraith.

Chun seiceáil, is féidir leat var_dump ($ _ FILES) a úsáid arís;

Beidh gach do chuid comhad suite sa tsraith mar seo:

  1. $ _FILES ["file1"] ["ainm"] [0]
  2. $ _FILES ["file1"] ["ainm"] [1]
  3. Agus mar sin de.

I braibíní, scríobhtar uimhir an chomhaid sa eagar. Ag comhaireamh ó thús. Déanaimid próiseáil orthu ar an gcaoi chéanna, ach an lúb a shocrú agus, nuair atá tú ag teacht ar an gcód thuas, cuirfimid an t-innéacs [$ i] ag an deireadh.

$ I = 0;

Cé ($ _FILES ["file1"] ["ainm"] [$ i] <> '')

{

/// cuir isteach an cód thuas

}

Dá bhrí sin, beidh ort comhad a íoslódáil trí PHP i dtimthriall amháin, gan athrá an ghá gan ghá, mar is gnách má úsáideann tú leagan le líon statach comhaid (an grianghraf deireanach).

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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