Вы находитесь на странице: 1из 4

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное


учреждение высшего образования
«Тихоокеанский государственный университет»

Кафедра
«Автоматика и Системотехника»

Лабораторная работа №7
по курсу «Архитектура информационных систем»
Тема: «Perl-скрипт, обработка запроса POST
(передача файла-картинки и сохранение его на сервере)»

Выполнил: студент группы


ИС(аб)-71 Белим Л.В.

Проверил:
Конопелько Г.К.

г. Хабаровск
2020 г.
Лабораторная работа №7
«Perl-скрипт, обработка запроса POST
(передача файла-картинки и сохранение его на сервере)»
Цель работы: Ознакомиться с основными правилами написания скриптов на
языке Perl, разработать скрипт для обработки данных, введенных в практической
работах № 4.
Задание:
Используя данные, введенные с помощью формы, разработанной в
практических работах № 4, написать скрипт на языке Perl для обработки данных,
вводимых в форме. Информация о подтверждении получения данных вместе с
картинкой должна быть выведена в центральную часть окна html-страницы.
Подтверждение выводить в зарезервированную для этогого часть центрального
окна.
Внимание! Использовать библиотечные функции при выполнении работы
запрещается!

Ход работы:
файл index.html /home/var/www/html/is1-02/Labs/index.html
<script>
function fileRead(event) {
var url = new FileReader();

url.onload = function(){
var myImg = document.getElementById('myImg');
myImg.src = url.result;
};
url.readAsDataURL(event.target.files[0]);
};
</script>
<td height="20%">
<div style="padding: 2%;"><label>Л/р №7 (PERL)</label>
<form action="/script7belim.pl" target="_blank" enctype="multipart/form-data"
method="post">
<input type="file" name="newImg" accept="image/*"
onchange="fileRead(event)" class="ButtonSumbit">
<input type="submit" value="Отправить" class="ButtonSumbit">

</form></div>
</td>

script7belim.pl /home/var/www/html/ script7belim.pl


#!/usr/bin/perl
Лист
Лабораторная работа №7
ТОГУ, ИС(аб)-71, Белим Л.В.
по курсу АИС 3
require("cgi-lib.pl");
print &PrintHeader;

read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});

$boundary=
substr($ENV{'CONTENT_TYPE'},index($ENV{'CONTENT_TYPE'},'boundary')+9);
$boundary = "--".$boundary;
@pairs=split($boundary,$buffer);
$pozition=index($pairs[1],"\r\n\r\n");
$header=substr($pairs[1],0,$pozition);
($_,$_,$filename)=split(/;/,$header);
($_,$filename,$_)=split(/"/,$filename);
if($filename eq '')
{print "Файл не выбран";}
else
{
print "Файл прочитан";
$value=substr($pairs[1],$pozition+4);
open ($file_d, ">","/home/var/www/html/is1_02/Labs/".$filename);
binmode($file_d);
print $file_d $value;
close ($ile_d);
print("<img src=/is1_02/Labs/".$filename."> ");
print "<br> Файл $filename загружен!";
}
Вывод: Выполняя данную лабораторную работу, я ознакомилась с
основными правилами написания скриптов на языке Perl, разработать скрипт для
обработки данных, введенных в практической работах № 4.

Задание:
«Подтверждение выводить в зарезервированную для этого часть центрального
окна».

<script>
function fileRead(event) {
if(confirm('Вывести в центральной части?')){
var url = new FileReader();

url.onload = function(){
var myImg = document.getElementById('myImg');
myImg.src = url.result;
};
url.readAsDataURL(event.target.files[0]);}
};
Лист
Лабораторная работа №7
ТОГУ, ИС(аб)-71, Белим Л.В.
по курсу АИС 3
</script>

Лист
Лабораторная работа №7
ТОГУ, ИС(аб)-71, Белим Л.В.
по курсу АИС 3