Coimpiutairean, Seòrsaichean faidhle
PHP: A 'luchdadh suas faidhle ris an fhrithealaiche
Faidhlichean a luchdadh a-nuas tro PHP - glè inntinneach a 'chùis, gus a dh'fheumas a bhith dèante gu math faiceallach. Air an t-eadar-lìon gheibh thu grunn eisimpleirean ann de 'cur an gnìomh faidhle upload, ach chan eil iad uile a tha math agus a' coinneachadh ri riaghailtean sàbhailteachd.
Na rudan sin a dhìth a thoirt gu co-dhùnadh, fiù 's ma tha e a' toirt ùine fhada. Ma tha thu a 'fàgail beàrn ann an còd, an sin fad fhrithealaiche agad urrainn a mhilleadh.
sàbhailteachd
Le PHP faidhle a luchdadh suas gu frithealaiche air a dhèanamh gu math furasta. Tha an Còd a tha gu math goirid agus sìmplidh. Dìreach rud no dhà a lines. Ach, tha an dòigh seo a tha cunnartach. Much barrachd ùine agus loidhnichean còd falbh gu sàbhailteachd.
Tha an cunnart a tha sin, ma-eil thu a 'dèanamh sgrùdaidhean, ionnsaigh sam bith a dh'fhaodadh a luchdadh suas aca air sgriobtaichean fhrithealaiche agad. Anns a 'chùis seo, bidh e a bheil làn inntrigeadh. Ge bith dè a dhèanadh e e ag iarraidh:
- a sguabadh às an stòr-dàta;
- sguab às na faidhlichean làraichean;
- atharrachadh faidhlichean làraichean;
- Cuir do ad gu làrach-lìn agad;
- luchdachadh a-nuas bhìorasan;
- dhi a h-uile luchd-cleachdaidh air na làraichean aca;
- agus iomadh ni eile a thig a chuimhnich ionnsaigh.
Bu chòir dhut an-còmhnaidh dèanamh cinnteach gu bheil a 'feuchainn ri faidhle a luchdachadh a-nuas an neach-cleachdaidh. Mar eisimpleir, ma tha thu a luchdachadh suas ìomhaighean a-mhàin, tha e riatanach gus a dhearbhadh gu bheil am faidhle a tha an ìomhaigh ceart. Mur eil, bidh thu rud sam bith a luchdachadh a-nuas.
Dìreach mar a chuireas dearbhadh, thèid a shealltainn, le dìreach deuchainn sgriobt faidhlichean a luchdadh suas.
Cruthachadh PHP foirm
A 'luchdadh suas faidhle foirm gu math sìmplidh. Missing an Leasaichte phutan agus upload putanan.
Ag innse mar a chruthaicheas bidh foirmean nach 'eil, oir tha e furasta. Nas fhaide air stiùireadh a 'gabhail ris gu bheil thu mar-thà a tha bun-bheachdan HTML (a chaochladh cha bhiodh tu a' coimhead airson fiosrachadh mu luchdachadh a-nuas air PHP).
Ach an aire gu bheil an dàta ann an cruth a dh'fheumas sibh a chur ris an enctype buadha.
Mur eil, dàta air faidhl cìobair cha tèid a sgaoileadh.
Ciamar a bu chòir obair?
An dèidh sin thèid a dhìth gus faighinn a-cheum far a bheil faidhle suidhichte.
Ma tha an t-slighe nach eil a 'nochdadh, a' coileanadh an gnìomh a-rithist.
An dèidh a bhith a 'briogadh air an download faidhl cìobair a bheir fiosrachadh sam bith.
Mar eisimpleir, faodaidh sibh sgrìobhadh an loidhne ag ràdh gu bheil am faidhle a tha "mar sin agus mar sin" an t-ainm air a bhith soirbheachail a luchdachadh suas gu "leithid" pasgan. Gu dearbh, am faidhle a thèid ainm a thoirt seachad an-còmhnaidh eadar-dhealaichte.
Mar as trice, tha am fiosrachadh seo a chleachdadh gus debug còd. Mar so tha e comasach a dhearbhadh gu bheil an dàta a chraoladh agus a 'sgrìobhadh a' tachairt ann an miannaichte eòlaire. Is e sin, fiù 's am faidhle Chan eil ainm a chomharrachadh. Bhon seo fiosrachadh a bharrachd gu bheil an neach-cleachdaidh nach eil feum.
Tha e a 'dèanamh ciall ri toradh a t-ainm a-mhàin ma tha an neach-cleachdaidh faigh ioma faidhlichean. Sin mar a tha a 'chùis, a' beachdachadh air beagan tuilleadh. Nach eil a 'faighinn air adhart oirnn fhìn.
adjustment
Ann PHP faidhle upload ris an frithealaiche Feumaidh cuid de shuidheachaidhean, a bu chòir a dhèanamh anns a 'nad php.ini faidhle. Fhaidhle seo tha tòrr de shuidheachaidhean. Iad a h-uile nach 'eil sinn a dhìth. Tha sinn a bheil ùidh ann an trì loidhnichean: file_uploads, upload_tmp_dir agus upload_max_filesize.
Thoiribh fa-near gu bheil na roghainnean a bheir buaidh air a h-uile agaibh làraichean air an fhrithealaiche, chan e dìreach aon sam bith. Uime sin, a chur an àirde tron meud stèidhichte air gu bheil sibh bidh agaibh ri load luchd-cleachdaidh. Chan eil e a 'moladh a chur ro mhòr.
Nuair a dh'atharraicheas tu an luachan anns na crìochan, feumaidh tu ath-thòiseachadh an fhrithealaiche. Mura suidheachaidhean nach gabh a 'bhuaidh, mar a tha iad a' leughadh aig an àm air an fhrithealaiche eallach.
Faodaidh tu seo a dhèanamh ann a 'chlàir leis a' ceangal tro SSH gus an fhrithealaiche. Dìreach cuir a-steach an àithne seirbheis httpd tòisichibh a-rithist, agus an uair sin air na roghainnean a 'gabhail buaidh.
Bha dòigh eile - a thòisicheas tro isp-pannal no tro bhileachaidh pannal solaraiche.
ordugh faidhle
Ann PHP faidhle upload a dhèanamh le ordugh $ _FILES. Tha a h-uile fiosrachadh mu na faidhlichean a tha sinn a luchdachadh a-nuas.
Airson fhaicinn dè am fiosrachadh a tha ann an ordugh, gu leòr a sgrìobhadh ann am faidhle cìobair a leanas.
Tagh faidhle sam bith agus briog air "upload." Air an cìobair duilleag a thaisbeanadh air an fhiosrachadh a tha air a stòradh ann $ _FILES. Tha caochlaideach air a sgrìobhadh gu tur le litrichean. PHP - cànan-mothachail.
Mar a chì sibh, anns an ordugh tha tòrr achaidhean. Tha iad uile cudromach dhuinn. Tha a 'chiad achadh anns am faidhle ainm ann an riochd anns a bheil e air a chleachdadh air a' choimpiutair agad.
Tha an seòrsa colbh a shònrachadh faidhl seòrsa. Tmp_name achadh co-ionann ris an ainm an fhaidhle sealach. Às dèidh deireadh an sgriobt a sguabadh às.
Tha mearachd anns an achadh an Còd mearachd. Bha seo beagan nas fhaide. Meud - meud ann bytes.
mearachdan
A dhèanamh tro PHP faidhle upload a tha daonnan an cois an Còd mearachd. An teachdaireachd-mearachd a-steach ann an "mearachd". Tha sgrìn mearachd a tha neoni.
Beachdachadh air an luach a h-uile mhearachdan:
Seo sampall foirm a luchdachadh a-nuas am faidhle, a tha a 'comharrachadh crìoch an t-suim de na luchdachadh suas faidhle.
PHP: A 'luchdadh suas faidhle sgriobt
Mar a h-uile a chaidh a dhèanamh ann an cleachdadh? Ann PHP faidhle upload a 'tachairt lethbhreac àithne. Ma tha ùidh agaibh anns a 'cheist ciamar a luchdachadh a-nuas faidhl, freagairt sìmplidh copy-, a tha a' cleachdadh dà chrìochan - an tobar faidhl agus na cheann-uidhe faidhle.
Ach, mar a chaidh a ràdh gu h-àrd, chan urrainn a bhith cuingealaichte airson adhbharan sàbhailteachd. Mar eisimpleir, thoir sùil a-mach dè an seòrsa faidhle sinn bàta, faodaidh sibh a 'cleachdadh an achadh-seòrsa ann an ordugh $ _FILES. Chiad, leig a 'dèiligeadh ri sgrùdadh, agus an uair sin a' gluasad air an script air fad
Nach can thu airson leigeil le luchd-cleachdaidh a luchdachadh suas air dealbh le rùn a-mhàin GIF, JPEG no PNG. Sealltainn faodaidh e bhith mar seo.
ma ($ _ faidhlichean [ 'file_upload'] [ 'seòrsa']! = "image / TIG") {
echo "Duilich, tha sinn a 'toirt taic-mhàin luchdachadh a-nuas TIG-Files";
fhosglaidh;
}
Ma tha thu airson a h-uile soitheach 3 sheòrsaichean, dìreach cuir a bharrachd staid eile a 'seòrsa ìomhaigh.
Dlighe-sgrìobhaidh air a dhèanamh mar seo: lethbhreac (image 1, an ìomhaigh 2).
Ann cùise againn, 'nuair a tha obair a luchdachadh a-nuas bho PC gus an fhrithealaiche, faodaidh sibh sin a dhèanamh
lethbhreac ($ _ faidhlichean [ 'file_upload'] [ "tmp_name"], "1.jpg")
'S e sin, am faidhle a thèid a lethbhreacadh le ainm 1.jpg. Chan eil seo gu tur ceart. Sa chùis seo, tha e a-mhàin eisimpleir. Tha am faidhl-ainm a tha daonnan feum air eadar-dhealaichte, agus dè an leudachan, a rèir an fhaidhle.
Obraich a-mach an leudachan urrainn a bhith an diofar dhòighean. Tha h-uile sian an crochadh air de an leasaiche erudition. Aon de na dòighean as luaithe gu (diofar na deicheamhan de seconds) a 'dearbhadh an leudachan - tha seo an ath còd.
$ Path_info = pathinfo ($ _ faidhlichean [ 'photo1'] [ "ainm"]);
$ EXT = $ path_info [ 'leudachan'];
Tha caochlaideach $ an EXT stòraidh sinn an leudachan mhiannaichte. Tha am faidhl ainm urrainn a chur air thuaiream cleachdadh MD5. Ma tha thu an dùil a luchdachadh a-nuas tòrr de na faidhlichean, tha e nas fheàrr dhaibh soitheach gu diofar pasgan. Mar sin bidh e nas fhasa. Gu sònraichte, ma bhios thu airson ghlanadh.
luchdachadh a-nuas an còd mar a leanas.
/// Le photo
ma ($ _FILES [ 'photo1'] [ 'tmp_name'] == null)
{
echo ( "
Unknown faidhl. strong> p> Back ... p> "); fhosglaidh; } ///. Say thu airson pròiseact sam bith air an fhrithealaiche a tha ceadaichte a luchdadh mòr faidhlichean (bhidio), ach chan eil ann ach na dealbhan, agus feumaidh luchd-cleachdaidh a chuingealachadh ma (($ _FILES [ "photo1"] [ "meud"]> * 1024 1024 * 2) { ?> as àirde cead meud 2 MB strong> Back ... p> fhosglaidh; } // chruthachadh pasgannan // chruthachadh pasgan an-dràsta mhìos ma (! file_exists ( "img /". Ceann-latha ( "M"))) { mkdir ( "img /" ceann-là ( "M").); } // chruthachadh pasgan an-dràsta latha ma (! file_exists ( "img /". Ceann-latha ( "M"). "/". Ceann-latha ( "d"))) { mkdir ( "img /" ceann-là ( "M") "/" ceann-là ( "d") ...); } /// faidhl leudachan $ Path_info = pathinfo ($ _ faidhlichean [ 'photo1'] [ "ainm"]); $ EXT = $ path_info [ 'leudachan']; /// ghineadh ainm-faidhle $ Id = MD5 (ceann-latha ( "YMd")); ma (lethbhreac ($ _ faidhlichean [ 'photo1'] [ "tmp_name"], "img /". Ceann-latha ( "M"). "/". Ceann-latha ( "d"). "/". $ id. $ EXT) ) { echo ( "Faidhle soirbheachail a luchdadh suas"); } /// sam bith tuilleadh gnìomh (inntrig ann an stòr-dàta, agus mar sin air. N.) } Faidhlichean a luchdadh suas ioma (PHP) a 'tachairt tro achaidhean a bharrachd ann an riochd. Tha an dòigh nach eil fìor mhath, mar a tha e a 'cuingealachadh na h-àireimh de na faidhlichean a luchdachadh a-nuas. A bharrachd air sin, thathar a 'beachdachadh air an droch riochd anns phrògraman. Feuch ri dhèanamh a h-uile càil fiùghantach. Tha roghainn freagarrach - tha e roghainn de àireamh mhòr de faidhlichean aig an aon àm le putadh air a 'phutan singilte. Gus seo a dhèanamh, a 'cruthachadh cumadh mar an còd seo. P> Foirm> Thoir fa-near gu bheil an ioma thuilleadh air an fhocal, agus an t-ainm air a thoirt mar an ordugh []. Anns a 'chùis seo, $ _FILES ordugh bi beagan eadar-dhealaichte. Gheibh thu an ordugh catha an ordugh. Airson fheuchainn urrainn-rithist a 'cleachdadh an var_dump ($ _ faidhlichean); A h-uile faidhlichean agad a thèid an cur ann an ordugh mar seo: Ann bracaidean e sgrìobhte faidhle àireamh ann an ordugh. Cunntaidh à neoni. Tha sinn a 'dèiligeadh riutha ann an aon dòigh, dìreach iarr air na rothairean agus le bhith a' cur fios gu na h-àrd-mhìneachadh code aig deireadh an clàr-amais a 'cur [$ i]. $ Mi = 0; fhad ($ _FILES [ "file1"] [ "ainm"] [$ i] <> '') { /// cuir gu h-àrd code } Mar sin, bidh sibh a bhith a 'tachairt tro PHP faidhle upload ris an frithealaiche ann an aon cearcall gun cus ath-aithris an còd, mar a tha mar as trice a' chùis ma tha thu a 'cleachdadh an dreach le stadaigeach àireamh de faidhlichean (Air photo). ioma-faidhlichean
Similar articles
Trending Now