TelefoniaTipi di u schedariu

Finisca u schedariu di u servore: PHP

Scaricà scàricu PHP - un casu assai ntirissanti, à chì deve esse s'avvicinò da assai cura. U Internet vi pò truvà numarosi li siquenti sunnu asempî di u baddu di finisca u schedariu, ma micca tutti li sò beni e scuntrà i rigulamenti sicurità.

Tali e cose tocca à purtà à una cunclusioni, ancu s'ellu si piglia un longu tempu. Sè voi lassari un difettu in u codice, tandu u vostru web servore pò cumprumessi.

sicurità

Cù PHP cartulare torna indettendu à u servore hè facianu quasi facirmenti. U codice hè assai cortu è chjara. Ghjustu un coppiu di lìnii. Tuttavia, stu mètudu hè periculosu. Assai di più tempu è linii di u corsu luntanu di sicurità.

U periculu hè chì, s'è vo ùn fà cuntrolli, ogni attacker pussutu stallendu u so script nant'à u vostru servore. In stu casu, ùn hà da avè un accessu piena. Si ponu fà ciò ch'ellu vole:

  • sguassate a basa di dati;
  • sguassà i siti i schedari;
  • scambià i siti i schedari;
  • aghjunghje u vostru A ad à u vostru situ;
  • Tags cagiunati;
  • riavvià tutti utilizatori nantu à i so siti;
  • e tanti àutri cosi chi veni a menti attacker.

You deve sempre verificà chì prova à scaricà una cartulare di u me. Per esempiu, sè vo Caricà solu images, hè necessaria à verificà chì u cartulare hè una imagine cose. Altrimenti, voi vi scaricà di qualcosa.

Esattamente quantu à azzione verification, si sarà spartu, cu lu meroìticu esaminazioni diretta à indettendu à i schedari.

Criazioni di una forma PHP

forma finisca u schedariu hè assai sèmplice. Sott'a u buttoni buttone transplanté è finisca.

Discrivi comu pi criari forma ùn sarà, parchì hè facile. In seguita instructions, incaricà chì vo digià hannu lu cuncetti funnamintali di HTML (altrimenti chè vo vulite micca esse cerca di infurmazione circa Scaricatu u PHP).

Ma nota chì i dati in forma vi tocca à aghjunghje lu attribuilla enctype.

Altrimenti, ùn vi esse trasmesse dati in u baggage cartulare.

Come si deve travaglià?

Quannu tu di cliccà nant'à u buttone transplanté vo duvite vede una scatula induve dumandatu à sceglie un schedariu.

Doppu ca si vi pò nicissarii à riceve un stradellu induve si trova u cartulare.

Sè u percorsu ùn cumparisce micca, di fà dinò l 'azzioni.

Dopu à piaza di u baggage cartulare scaricare pò dà ogni infurmazione.

Per esempiu, si pò scrìviri la linia chì stati chì u cartulare hè "accussi e accussi" lu nomu ha statu activity successu di u cartulare "tali e tali". Di sicuru, u nomu cartulare serà datu sempre sfarente.

Tipicamenti, stu infurmazione hè usatu à codice più leghjitoghji. Cusì hè pussibule di verificà chì i dati hè trasmessi e scrissi esempiu, in u cartulare di àutri. Chì hè ancu u nomu schedariu ùn hè indettatu quì. Dapoi sta infurmazioni suverchiu chi la me ùn tocca.

Si face u sensu a pruduzzioni u nomu sulu si lu me Downloads multiplicità di i schedari. Tale hè u casu, guardà un pocu di più. Chì ùn di trari avanti di noi stessi.

cutter

In PHP finisca u schedariu di u servore hè certa iventi, chì deve esse fattu in u cartulare php.ini. Stu cartulare cuntene assai di u bastimentu. Iddi tutti noi ùn tuccherà. Ci sò interested in trè linee: file_uploads, upload_tmp_dir è upload_max_filesize.

Da nutà chì sti caliper sarà micca tutti di a vostra siti nant'à u servore, nun sulu unu qualunqui. Per quessa, à crià i taglia màsima basatu nant'à lu fattu chì vo vi hannu à i utilizatori. U Populu ùn hè ricumandatu à crià troppu grande.

Una volta vi canciari lu valuri in sti parametri, vi tuccherà à rilancià u servore. Altrimenti u bastimentu ùn vi ntràsiri, comu si leghje in u tempu di l'unità servore.

Pudete fà sta in u stimulus da culligamentu Via SSH à u servore. Simply entre u httpd ripigliate serviziu cumannu, è tandu u bastimentu vi purterà effettu.

Un altru mètudu - un ripigliate à òspite-panel francese, o per mezu òspite, panel Bilingue.

u schedariu panoplia

In PHP finisca u schedariu hè fatta da u panoplia $ _FILES. It cuntene tutte e infurmazione di i schedari chì avemu scaricà.

Per vede ciò chì infurmazione hè cuntatu in u partita, basta à scrive in u baggage cartulare seguenti.

Selezziunà ogni cartulare è di cliccà "Subir." Nantu a pagina baggage vi vede i infurmazioni chì hè piazzatu in $ _FILES. A variàbile hè scrittu sanu sanu cu littri capitali. PHP - una lingua-fattivu.

Comu si pò vede, in sta partita hà assai di campi. All di li sò impurtanti à noi. U primu campu cuntene u nomu di schedari in u forma in lu quali veni usatu in u vostru urdinatore.

U Colonna tipu renseigné tipu cartulare. Tmp_name campu currisponde à u nomu di u cartulare pruvisoriu. Dopu à a fine di u testu vi pò sguassati.

U campu di errore cuntene un codice errore. Stu hè un pocu di più. Size - la grannizza in Sandra.

sbagli

Purtatu fora à traversu l 'finisca u schedariu PHP hè sempre accumpagnatu da un codice errore. Un errore intrutu in u "sbagliu". L'errore input hè zeru.

Guardà lu valuri di tutti li sbagghi:

Hè statu dettu sopra à circa u paràmetru chì ponu esse renseigné in u solitu HTML.

Quì hè una forma campionu di scaricà u cartulare, ca ìnnica una limitazione di u numeru di u cartulare activity.

scrittura finisca u schedariu: PHP

Comu tutti i facianu in pratica? In PHP finisca u schedariu mangianu cumannu copia. Sè vo sò interessatu à a quistione di quantu à scaricà un schedariu, a risposta hè chjara copy-, chì adopra dui parametri - u cartulare surghjente è u schedariu file.

Ma, cum'è indettu, sopra, ùn pò micca esse limitata di mutivi sicurità. Per esempiu, cuntrolla fora chi tipu di schedariu di noi navi, pudete puru aduprà u tippu campu in a panoplia $ _FILES. Prima, chì l'trattari cu biancu pirmittennu, è tandu spustà nantu à a scrittura piena

A Canzona di diri vi vogghiu a permette utilizatori à stallendu una foto cù una decisioni di solu GIF, JPEG, o PNG. Quì si pò esse like this.

se ($ _ schedari [ 'file_upload'] [ 'tipu']! = "imagine /: gif") {
satana "Scusate, avemu Support solu Scaricatu Gif-Lime";
sorte;
}

Sè vo vulete navi tutti i 3 tippi, solu aghjunghje un pattu novu à l 'altru tippu di imagine.

Cupiari hè fattu like this: copia (Image 1 Image 2).

In u nostru casu, quandu i travagli hè Scaricatu da u PC à u servore, vi pò fà tantu

copia ($ _ schedari [ 'file_upload'] [ "tmp_name"], "1.jpg")

Chì hè, u cartulare serà cunseguenza cu lu nomu 1.jpg. Stu ùn hè micca sanu aggalabbata. In issu casu, hè solu un esempiu. U nomu u schedariu hè sempre vole à specificà differente, è specificà a curtzu, sicondu u cartulare.

Definisce u allargamentu pò esse versi. Hè tuttu dipende di u documentaliste di prezià. Unu di l 'idiomi più veloce à (una diffarenza di heures de seconde) darà u allargamentu - chistu è lu codice prossimu.

$ Path_info = pathinfo ($ _ schedari [ 'photo1'] [ "nomu"]);

$ E ext = $ path_info [ 'allargamentu'];

A variàbile $ l 'E ext noi vi magazzini a curtzu àutri. A nomu cartulare si pò crià in incerta cù md5. Sè vo piglià à scaricà assai di i schedari, ci hè megliu à li navi a ciu differente. So si sarà più còmuda. In particulare, sè vo vulete à sguassà.

à scaricà u codice sarà a siguenti.

/// Cù Photo

se ($ _FILES [ 'photo1'] [ 'tmp_name'] == null null)

{

satana ( "

cartulare Unknown.

Torna ... ");

sorte;

}

///. vi dicu per ogni prugettu u servore hè u dirittu di i schedari di grande (video), ma ci sò solu images, è utilizatori tuccherà à limità

se (($ _FILES [ "photo1"] [ "statura"]> 1024 * 1024 * 2)

{

?>

la taglia màsima u dirittu di 2 MB

Torna ...

sorte;

}

// creà ciu

// creà un cartulare di u mese, currenti

if (! file_exists ( "IMG /". data ( "M")))

{

mkdir ( "IMG /" data ( "M").);

}

// creà un cartulare di u ghjornu currenti

if (! file_exists ( "IMG /". data ( "M"). "/". data ( "D")))

{

mkdir ( "IMG /" data ( "M") "/" data ( "D") ...);

}

/// estensione

$ Path_info = pathinfo ($ _ schedari [ 'photo1'] [ "nomu"]);

$ E ext = $ path_info [ 'allargamentu'];

/// pruduce un nome

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

se (copie ($ _ schedari [ 'photo1'] [ "tmp_name"], "IMG /". data ( "M"). "/". data ( "d"). "/". $ id. $ E ext) )

{

satana ( "cartulare successu activity");

}

/// ogni più maiò (voce in a basa di dati, è cusì on. N.)

}

i schedari parechje

Mandendu a multiplicità di i schedari (PHP) č da i mezi di campi novu in u furmulariu.

Stu mètudu ùn hè micca assai bonu, comu lu limiti u numeru di i schedari to download. Oltri a chistu, si eni cunzidiratu forma mala in prugrammazione. Prova a fari tuttu chiddu dinamichi.

U sottu idiali - hè una scelta di un grande numeru di i schedari subbitu da giru una sola buttone.

A fari sta, di creà una forma like this codice.

Nota ca la parechje agghiunta di a parolla, è u nome hè datu cum'è una scelta larga []. In stu casu, panoplia $ _FILES hà da esse pocu sfarente. Dariti un partita di a partita.

À pruvà pò dinò aduprà u var_dump ($ _ i schedari);

Tutti i vostri schedari sarà pusatu in a panoplia like this:

  1. $ _FILES [ "file1"] [ "nomu"] [0]
  2. $ _FILES [ "file1"] [ "nomu"] [1]
  3. E accussì on.

In parèntesi hè scrittu u numeru di schedari in u partita. Natalie da zeru. Avemu li scioglie in u listessu modu, cum'è dumandà l 'bissiclette è appuntamentu cù u codice sopra-discritta a la fini di l' accogliu agghiuncennu [$ i].

$ I = 0;

mentri ($ _FILES [ "file1"] [ "nomu"] [$ i] <> '')

{

/// temi u codice sopra à

}

Cusì, voi vi hannu a succede à traversu una finisca u schedariu PHP di u servore in unu routes senza répétition micca necessariu di u codice, com'è hè di solitu u casu sè tù aduprà a versione cù un numeru fermu di i schedari (noms de foto).

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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