Studopediya

КАТЕГОРИЯ:


Астрономия- (809) Биология- (7483) Биотехнологии- (1457) Военное дело- (14632) Высокие технологии- (1363) География- (913) Геология- (1438) Государство- (451) Демография- (1065) Дом- (47672) Журналистика и СМИ- (912) Изобретательство- (14524) Иностранные языки- (4268) Информатика- (17799) Искусство- (1338) История- (13644) Компьютеры- (11121) Косметика- (55) Кулинария- (373) Культура- (8427) Лингвистика- (374) Литература- (1642) Маркетинг- (23702) Математика- (16968) Машиностроение- (1700) Медицина- (12668) Менеджмент- (24684) Механика- (15423) Науковедение- (506) Образование- (11852) Охрана труда- (3308) Педагогика- (5571) Полиграфия- (1312) Политика- (7869) Право- (5454) Приборостроение- (1369) Программирование- (2801) Производство- (97182) Промышленность- (8706) Психология- (18388) Религия- (3217) Связь- (10668) Сельское хозяйство- (299) Социология- (6455) Спорт- (42831) Строительство- (4793) Торговля- (5050) Транспорт- (2929) Туризм- (1568) Физика- (3942) Философия- (17015) Финансы- (26596) Химия- (22929) Экология- (12095) Экономика- (9961) Электроника- (8441) Электротехника- (4623) Энергетика- (12629) Юриспруденция- (1492) Ядерная техника- (1748) Arhitektura- (3434) Astronomiya- (809) Biologiya- (7483) Biotehnologii- (1457) Военни бизнесмен (14632) Висока technologies- (1363) Geografiya- (913) Geologiya- (1438) на държавата (451) Demografiya- ( 1065) Къща- (47672) журналистика и смирен (912) Izobretatelstvo- (14524) външен >(4268) Informatika- (17799) Iskusstvo- (1338) историята е (13644) Компютри- (11,121) Kosmetika- (55) Kulinariya- (373) културата е (8427) Lingvistika- (374) Literatura- (1642) маркетинг-(23702) математиците на (16968) Механична инженерно (1700) медицина-(12668) Management- (24684) Mehanika- (15423) Naukovedenie- (506) образователна (11852) truda- сигурност (3308) Pedagogika- (5571) Poligrafiya- (1312) Politika- (7869) Лево- (5454) Priborostroenie- (1369) Programmirovanie- (2801) производствено (97 182 ) индустрия- (8706) Psihologiya- (18388) Religiya- (3217) Svyaz (10668) Agriculture- (299) Sotsiologiya- (6455) на (42831) спортист строително (4793) Torgovlya- (5050) транспорт ( 2929) Turizm- (1568) физик (3942) Filosofiya- (17015) Finansy- (26596) химия (22929) Ekologiya- (12095) Ekonomika- (9961) Electronics- (8441) Elektrotehnika- (4623) Мощност инженерно ( 12629) Yurisprudentsiya- (1492) ядрена technics- (1748)

Прехвърляне на файлове




Пример 11.1.

В този пример, страница под формата на XHTML съдържа текстово поле за името и фамилията. Също така кодирана скрито поле, което е вписано като използвате функцията PHP дата (), за текущата дата и час. Когато се натисне бутона за изпращане на формата, създаване на нов текстов файл "formfile.txt" и се отваря в режим добавяне:

$ FILE_NAME = "C: \ formfile.txt";

$ Open_file = fopen ($ file_name, "A +");

Тогава променливата $ file_contents присвоени стойности Свръхглобалните POST, съдържащ името на потребителя и фамилия и текущата дата и час. За Онлайн присъединява запетая разделители за създаването на тези стойности. В края на всеки ред добавя символ за нов ред, за да се създаде нов ред:

$ File_contents = $ _POST [ 'FName "]. "." $ _POST [ 'LName "]. "." $ _POST [ 'DateTime "]" \ Н ".;

И накрая, на съдържанието на променлива $ file_contents записаните (добавено) в текстов файл. Файлът е затворен и ехо изявлението се използва за показване на съобщение за потвърждение в прозореца на браузъра:

fclose ($ open_file);

ехо "Тези форми са успешно записани във файла";

В някои динамични уеб приложения, трябва да се даде възможност на потребителите за изпращане на файлове от вашия локален компютър в уеб сървър. Такова заявление може да позволи на потребителите да споделят файлове с други потребители, или просто да се осигури механизъм за съхранение на файлове за бъдеща употреба. В този раздел се въвежда функция PHP за прехвърляне на файлове.

Трансферът на PHP файл може да се реализира чрез следните функции:

move_uploaded_file (името на файла, mesto_naznacheniya) - премества файла в определено място на сървъра.

Преди да се обърнат към детайлите на PHP код, нека да разгледаме управление на формуляра XHTML, необходими, за да се създаде страница за трансфер на файлове.

<Форма enctype = действие = метод "съставното / форм-данни" "upload.php" = "пост">

Изберете Файл: <вход тип = "файл" име = "uploadFile">

<Име Input = тип "SubmitB" = "представя" стойност = "Качване на файл">

</ Форма>

Блокът на код започва със стандартен етикет XHTML <форма>. В допълнение към атрибутите на действие и метод форма се използва за прехвърляне на файлове, трябва да включва типа на кодиране или "криптиране" атрибут. Когато формулярът се използва за прехвърляне на файлове, за да се използва криптиране стойност атрибут "съставното / форм-данни".

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



Текст кутия файл включва и бутон "Browse ..." в извличането на прозореца на браузъра. При натискане на бутона, се появява диалогов прозорец, който позволява на потребителя да се намери на локалния ви компютър файл, за да бъде изпратен.

крайния контрол елемент е да представи бутон (представя). Бутон за изпращане се използва, за да започнат процеса на подаване на формуляра. При натискане на бутона, информацията за файла се изпраща upload.php страница, която съдържа PHP код, за да прехвърлите файла в папка намира на уеб сървър.

След кодиране XHTML форма на страницата можете да добавите PHP скрипт да тече динамичен трансфер на файлове. Когато файлът се изпраща посредством funktsiimove_uploaded_file (), тя се съхранява за кратко в временно място в уеб сървър. За преместване на файл в крайното си местоназначение и манипулация на различните си свойства, използвани свръхглобална PHP $ _FILES. $ _FILES Име Array използва стойността, посочена в тага <вход тип = "файл" име = "uploadFile" /> (в този случай "uploadFile"), за да се идентифицира изпратен файл. Records, свързани с масива $ _FILES, описани по-долу.

$ _FILES [ 'UploadFile'] [ 'tmp_name'] - директория на уеб сървъра, където файлът се съхранява временно. uploadtemp на директорията по подразбиране намира в PHP директорията.

$ _FILES [ 'UploadFile'] [ 'име'] - име на файла в системата на потребителя.

$ _FILES [ 'UploadFile'] [ 'размер'] - размера на файла в байтове.

$ _FILES [ 'UploadFile "] [" тип "] - на MIME типа на файла.

$ _FILES [ 'UploadFile'] [ 'грешка'] - код за грешка, свързани с прехвърляне на файлове (0 - успешна пратка, 1 - файл надвишава максималния размер трансфер 2 - файл надвишава максималния размер на файла, 3 - подаде частично заредена, 4 - файлът не е изтеглен).

Следният код блок показва как $ _FILES масива се използва с функцията move_uploaded_file (), за да се създаде проста процедура трансфер.

upload.php

<? Php

ако ($ _POST [SubmitB] == "Качи файл")

{

move_uploaded_file ($ _FILES [ 'uploadFile'] [ 'tmp_name "],

"../PHPTutorial/ECommerce/Databases/{$_FILES['uploadFile '] [' Name ']}");

ехо "Файлът е изтеглен.";

}

?>

<Форма enctype = действие = метод "съставното / форм-данни" "upload.php" = "пост">

Изберете Файл: <вход тип = "файл" име = "uploadFile">

<Име Input = тип "SubmitB" = "представя" стойност = "Качване на файл">

</ Форма>

Когато бутона е натиснат "Качи файл", на посочения в <вход тип = "файл" име = "uploadFile" />, автоматично се изпраща във временна папка на уеб сървър файл. След това той извиква функцията move_uploaded_file (), за да преместите файла. Първият параметър на функцията, $ _FILES [ 'uploadFile'] [ 'tmp_name "], става връзката към файла, когато функцията се готви да го премести до крайното местоназначение. Вторият параметър, "../PHPTutorial/ECommerce/Databases/{$_FILES['uploadFile '] [' име ']}", е относителен път за достъп до папката, в която преписката е временно спасен. Последната част от пътя за достъп включва код {$ _FILES [ 'uploadFile'] [ 'име']}. Това може да се тълкува като име на файл, който е влязъл в областта на текстов файл с име "uploadFile". Накратко, функцията move_uploaded_file () премества файла от папката временно прехвърляне на папка ($ _FILES [ 'uploadFile'] [ 'tmp_name']) в папката "../PHPTutorial/ECommerce/Databases/), и файлът е записан с името влезе ли потребителя, ({$ _FILES [ 'uploadFile'] [ 'име']}). Файловете могат да бъдат изпратени на всяка директория на уеб сървъра, но папка трябва да има права за достъп за вписвания ( "пиша").

Предишната код проба илюстрира лесното прехвърляне на файлове, но с предположението, че процесът на прехвърляне винаги ще работи, и грешката никога няма да се случи. Ние не сме разглеждали какво се случва, когато потребителят се опитва да изпрати файл, който надхвърля пределния размер, ако папката изтеглянето не разполага с подходящ орган по сигурността, или ако някои непредвидени проблеми с мрежата позволи изпращането на цялата преписка. За да се подобри трансфера на кода по-горе, трябва да се осигури процедури за проверка на грешките и да предоставят информация за потребителя как да се определи тези проблеми.

Следният код блок показва модифицирана версия на предишната процедура трансфер, който съдържа проверка за грешки.

upload.php

<? Php

ако ($ _POST [SubmitB] == "Качи файл")

{

move_uploaded_file ($ _FILES [ 'uploadFile'] [ 'tmp_name "],

"../PHPTutorial/ECommerce/Databases/{$_FILES['uploadFile '] [' Name ']}");

ако ($ _ FILES [ 'uploadFile'] [ 'грешка']> 0)

{

превключвател ($ _FILES [ 'uploadFile'] [ 'грешка'])

{

При 1: ехо "Файлът превишава максималния размер на сървъра за прехвърляне";

пробие;

При 2: ехо "Файлът превишава максималния размер на файла";

пробие;

При 3: ехо "Файлът е зареден само в част";

пробие;

При 4: ехо "Не файл не е зареден";

пробие;

}

}

още

{

ехо "Файлът е качен успешно ';

}

}

?>

<Форма enctype = действие = метод "съставното / форм-данни" "upload.php" = "пост">

Изберете Файл: <тип = "файл" име вход = "uploadFile" />

<Тип Input = "скрита" име = "MAX_FILE_SIZE" стойност = "1000000" />

<Име Input = тип "SubmitB" = "представя" стойност = "Качване на файл" />

</ Форма>





; Дата: 05.01.2014; ; Прегледи: 180; Нарушаването на авторските права? ;


Ние ценим Вашето мнение! Беше ли полезна публикуван материал? Да | не



ТЪРСЕНЕ:


Вижте също:



zdes-stroika.ru - Studopediya (2013 - 2017) на година. Тя не е автор на материали, и дава на студентите с безплатно образование и използва! Най-новото допълнение , Al IP: 66.102.9.22
Page генерирана за: 0.053 сек.