Úvod do nahrávania súboru v PHP
V PHP môžu používatelia nahrávať súbory pomocou funkcie odovzdávania súborov a súboru, ktorý sa musí odoslať prostredníctvom formulára a ktorý sa ľahko pripája a odovzdáva. Užívateľ môže nahrať veľa typov súborov, ktoré môžu byť dokument, formulár, pdf, atď. Tento typ súborov je dodávaný s príponou, tj .docx, .jpeg.webp, .pdf atď. forma a veľkosť súboru je nastavená tak, aby sa nemohlo nahrávať viac ako táto veľkosť. Toto je pokročilá funkcia pre používateľa, ktorý predtým vkladal údaje manuálne, sa teraz rozhodla pre túto možnosť.
Ako vytvoriť nahraný súbor v PHP?
S PHP je veľmi ľahké nahrať súbory na server pomocou formulára a dáta sú tiež bezpečné v porovnaní s ostatnými. Konfiguračný súbor „php.ini“ má premennú, ktorá musí byť nastavená pre súbory, ktoré sa majú odovzdať, a nazýva sa „file_uploads“, ktoré by mali byť zapnuté, aby umožnili funkciu nahrávania. Pri odovzdávaní súboru na server existuje niekoľko krokov.
Pred odovzdaním súboru na server pomocou formulára existuje len niekoľko kontrol. Tieto kontroly sa nazývajú overením súboru, ktorý sa odovzdáva.
Nižšie sú uvedené niektoré dôležité body, ktoré vývojárske kódy potvrdzujú platnosť formulára:
1. File_uploads
Hodnota tejto premennej by pre súbory, ktoré sa majú odovzdať, mala byť zapnutá. Ak nie je zapnutý, súbor nie je možné nahrať na server. Takže by to malo byť vždy ZAPNUTÉ.
2. Odovzdajte maximálnu veľkosť
Táto smernica sa používa na konfiguráciu maximálnej veľkosti súboru, ktorý je možné nahrať na server pomocou formulára. Je to druh kontroly, ktorá umožňuje skontrolovať veľkosť odovzdaného používateľa. Predvolená veľkosť súboru je nastavená na 2M (dva megabajty) a tento druh nastavenia môžeme prepísať pomocou súboru .htaccess, kde vývojár môže zväčšiť veľkosť súboru. Dva megabajty nie sú v dnešných štandardoch toľko, takže by sme to mali zvýšiť. Ak sa pri pokuse o odovzdanie súboru zobrazí chyba, ktorá uvádza, že veľkosť súboru presahuje upload_max_filesize, musíte hodnotu zvýšiť. Ak tak urobíte, nezabudnite tiež zvýšiť post_max_size.
3. Upload_tmp_dir
Nastavuje dočasný adresár, ktorý bude užívateľ používať na ukladanie odovzdaných súborov. Vo väčšine prípadov sa s týmto nastavením nemusíme obávať. Ak ho nenastavíme, predvolený systém automaticky nastaví dočasný adresár, ktorý sa dá použiť.
4. Post_max_size
Smernica post_max_size nám umožňuje nastaviť maximálnu veľkosť dát nahraných metódou POST. Pretože súbory sa nahrávajú na základe POST požiadaviek, hodnota musí byť vyššia ako hodnota, ktorú sme nastavili pre upload_max_filesize. Napríklad, ak je upload_max_filesize 20M (20 megabajtov), možno bude potrebné nastaviť post_max_size na 24M.
5. Max_file_uploads
To vám umožňuje nastaviť maximálny počet súborov, ktoré môže užívateľ nahrať na jedno použitie. Predvolený počet pre používateľa je 20.
6. Max_input_time
Je to počet sekúnd, počas ktorých môže skript analyzovať vstupné údaje používateľa. Mali by sme ho nastaviť na rozumnú hodnotu, ak máme čo do činenia s veľkou veľkosťou odovzdaných súborov. 60 (60 sekúnd) a je to dobrá hodnota pre väčšinu aplikácií.
7. Memory_limit
Smernica o obmedzení pamäte naznačuje, že maximálne množstvo pamäte, ktoré skript môže na serveri spotrebovať. Ak sa počas nahrávania veľkých súborov stretneme s problémami, musíme nastaviť hodnotu smernice väčšiu, ako sme nastavili pre smernicu post_max_size. V predvolenom nastavení je táto hodnota nastavená na 128 M (128 megabajtov), takže pokiaľ nebudeme mať veľmi veľkú veľkosť post_max_size a upload_max_filesize, nemusíme si robiť starosti.
8. Max_execution_time
Táto smernica sa používa na maximálny počet sekúnd, kým je na serveri povolený skript. Ak počas nahrávania veľkých súborov čelíme problémom, môžeme zvážiť zvýšenie hodnoty na viac sekúnd, napríklad 60 (1 minúta), a to by malo fungovať dobre pre väčšinu aplikácií.
Príklady odovzdania súboru v PHP
Niektoré príklady sú uvedené nižšie:
Príklad č. 1
kód:
Select any image to upload:
Výkon:
Príklad č. 2
kód:
Photo Upload Form
Upload File
Filename:
Photo Upload Form
Upload File
Filename:
Photo Upload Form
Upload File
Filename:
Photo Upload Form
Upload File
Filename:
Poznámka: Iba formáty .jpg.webp, .jpeg.webp, .gif, .png.webp môžu mať maximálnu veľkosť 2 MB väčšiu, ako je veľkosť, ktorú nie je možné nahrať.
Výkon:
Príklad č. 3
kód:
Select a file to upload:
Výkon:
Príklad č. 4
kód:
<_?php$target_path = "c:/";
$target_path = $target_path.basename( $_FILES('fileToUpload')('name'));
if(move_uploaded_file($_FILES('fileToUpload')('tmp_name'), $target_path)) (
echo "File has been uploaded successfully!";
)
else
(
echo "Sorry, file not uploaded, please check and try again!";
)
?>
Výkon:
Vo vyššie uvedených príkladoch môže užívateľ vidieť obrazovku, ktorá je prítomná v snímkach. Používatelia pripoja dokument kliknutím na možnosť „Vybrať súbor“. Súbor sa pripojí, keď užívateľ vyberie súbor zo svojho lokálneho počítača a kliknutím na tlačidlo Nahrať odošle dokumenty na server. Užívateľovi sa potom zobrazí výzva s oznámením, že súbor bol úspešne odovzdaný.
záver
V tomto článku sme diskutovali o tom, ako môže používateľ nahrať súbor na server pomocou formulára a ako je možné nahraný súbor overiť v rôznych formách a obmedzenia servera pre odovzdanie súboru. Používateľ nemusí rozumieť postupu backendu, ale vývojár musí kódovať takým spôsobom, aby dokument odovzdaný používateľom bol správny a údaje boli zabezpečené.
Odporúčané články
Toto je príručka na odovzdanie súboru v PHP. Tu diskutujeme úvod, ako vytvoriť upload súbor v PHP, príklady upload súboru v PHP. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Cloud Security Tools
- Interné prepojenie v SEO
- Rozloženie HTML
- Formulár PHP