Изпращане на файлове чрез форма - уеб-студио Андрей moskalyukova

Рейтинг: 0/5

В тази статия, ние считаме, ситуацията с изпращане на електронна поща стандартна характеристика файл поща ().

Създаване на проста форма.


Име на подателя:

Прикачване на файл:


И само малко обяснение. Ако искате да изпратите файл, под формата, че е необходимо да се създаде enctype атрибут се задава на "съставното / форм-данни". в противен случай файловете няма да се изпращат. Този атрибут определя метода за кодиране на данни, и по подразбиране е настроен на "приложение / х-WWW-форма-urlencoded".

В този случай, изпращане форма данни става чрез пост (който е показан в следната форма: метод = "след") с използване на входа на различни видове маркери. тип Изходен файл маркер - изпраща преписката.

въвеждане на етикет е може би най-често срещаната форма маркер, който има няколко вида. В момента нашата форма също маркира входа тип текст. че приема и предава стойността на текст. Бутона "Изпращане", това също представи вход тип маркер.

дизайн . Той казва, че като форма манипулатор изпълнява самия файл. Той също така може да се запише и по такъв начин, /articles/izprashhane-na-fajlove-chrez-forma-ueb-studio.html. Във всеки случай, $ PHP_SELF и $ СЪРВЪРА [ 'PHP_SELF'] - свръхглобални да бъдат поръчани трябва да бъдат проверени. Ето защо, аз препоръчвам да използвате някои промени в дизайна . където php_self въвеждане преминава през htmlspecialchars () функция.

Нека да се върне за да се образува. Как да изпратите файл чрез формата знаем, сега нека да видим как да се приеме и обработи файла на сървъра страна.

Текстови ценности оформят входни тип текстови маркери. парола. скрито. радио. и текстовото поле и изберете таговете са получили най-сървъра чрез Свръхглобалните масиви $ _POST или $ _GET (в зависимост от информацията под формата на а) израз на вид

$ Име = htmlspecialchars (stripslashes ($ _ POST [ 'потребителско име']), ENT_QUOTES).

В този израз, има някои функции PHP htmlspecialchars и stripslashes. Първият преобразува специални символи в HTML лица. Например, '' (амперсанд) става "-", "<' (знак "меньше чем") преобразуется в '<'. Вторая удаляет экранирующие бэкслэши. (\' преобразуется в ', и т.д.).

Ако получавате текстови стойности на специално сложност е не, тогава прехвърлянето на файла става чрез малко по-сложно свръхглобалните $ _FILES. Този масив осигурява достъп до различни данни за прието файл:

$ _FILES [ 'fileup'] [ 'име'] - име на файл се прехвърля
$ _FILES [ 'fileup'] [ 'tmp_name'] - името на временен файл от сървъра
$ _FILES [ 'fileup'] [ 'тип'] - вида на полученото файл
$ _FILES [ 'fileup'] [ 'размер'] - размера на файла в байтове
$ _FILES [ 'fileup'] [ 'грешка'] - код за грешка

Приемате ли файла на сървъра страна може да бъде по този начин:

Първите проверки дали получили файла и след възлагане на променливи стойности на данните за файл, който по-късно може да се използва за различни проверки. Ще проверим типа на полученото файла. В нашия случай се приема, че полученото файл е да бъде компресиран архивен файл. Приета от файла (ако е от тип цип) се копира с ново име в главната папка на сайта. Когато файлът се обработва, трябва да помним, че във временен файл, автоматично ще бъдат изтрити след края на сценария, а копиран файл след преработка ще трябва да премахнете себе си да не "замърсяват" сървъра.

Данните са получени. Сега е необходимо да се изпрати получи файл чрез електронна поща.

За да изпратите ще използва стандартната PHP функция поща (). който има следния формат: поща ( "кой", "обект", "тялото на писмото", "заглавията");

Подгответе се за писане на заглавия.

Ако ние не трябва да изпратите прикачен към съобщението файл, заглавията може да изглежда така:

$ Header = "От: не-отговор @" $ _ СЪРВЪРА [ 'HTTP_HOST'] "\ R \ nContent-Type: текст / HTML; набор знаци = 'прозорци-1251' \ R \ nContent-Transfer-Encoding: .. 8bit \ г \ п ";

Това се посочва от кого писмото (От.), Тип на буквата на текста и неговото кодиране (Content-Type: текст / HTML; набор знаци = 'прозорци-1251 ") и броя на битовете за кодиране на знаци (Content-Transfer-Encoding: 8bit). За кирилицата кодировки (KOI8-R, KOI8-ф, прозорци-1251, ISO-8859-5, cp866), за да се уточни броя на битовете, е желателно, ако не искат да бъдат въпросителни вместо текст. Код \ R \ н е определяне кодове "връщането превоз" и "прехвърляне линия" (край на линията, така че определено в Windows)

Искате да знаете повече? Натиснете бутона "Like"

Ако имейлът съдържа прикачен файл във файл, подготовката на заглавката се усложнява, се променя и тялото на съобщението. Ние трябва да се чете файла в променлива и да го превърнете в прилагат в модифицирана форма в съответствие с маркирането. Тя ще изглежда така:

Остава само да изпращате имейли и да изтриете получи файл.

поща () връща истина или лъжа в зависимост от резултата от изпращането на писмото.