download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Манипулиране на txt файл разположен на сървър, чрез скрипт

Автор
Съобщение
dreven
Нед, 02.03.08, 12:51
Здравейте, търся скрипт ( най- вероятно използващ CGI ), който при натискане на един бутон да може да отвори конкретен txt файл, да добави дума и да запише файла след промените. Файла е разположен на сървър подържащ Perl. Благодаря предварително.
phrozencrew
Нед, 02.03.08, 13:33

RE: Манипулиране на txt файл разположен на сървър, чрез скрипт

” Здравейте, търся скрипт ( най- вероятно използващ CGI ), който при натискане на един бутон да може да отвори конкретен txt файл, да добави дума и да запише файла след промените. Файла е разположен на сървър поддържащ Perl. Благодаря предварително. „
Ето някои операнди за работа с текстови файлове.
'' (без нищо) - файла е отворен за четене и писане
'>' - файла се отваря само за писане и данните се записват незабавно, а не след като се затвори файла
'<' - Файла се отваря само за четене.
'>>' - Файла се отваря са за добавяне на данни.
'+>' - Файла се отваря за четене и писане, но когато се записва в него данните се записват незабавно, а не след като се затвори файла.
'+>>' - Файла е отворен за четене и добавяне и данните се записват незабавно.
'+<' - Същото като '<' или ''(без нищо).
Малко информация само още и няколко примера. За да се запише текста във файла се използва стандартната команда print. Самия файл се манипулира с handle оператор, който се изписва с големи букви, например FILE.
$txtfile="textfile.txt";
open(FILE,">>$txtfile") || die("Cannot Open File");
print FILE "Записване на някакви данни\n"; 
close(FILE);

phrozencrew
Нед, 02.03.08, 15:18
В горният ми код не описвам точно това, което ти трябва. За това реших да ти драсна и няколко реда как точно би изглеждал скрипта с форма и с CGI файл.
1. Правиш файла с формата (index.html):
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=windows-1251">
</head>
<body>
	<form name="myForm" method="post" action="myscript.cgi">
	<input type="text" name="textfield">
	<input type="submit" name="subbtn" value="Submit">
	</form>
</body>
</html>

2. Правиш си и CGI (perl) файла и го слагаш в същата директрия(formwrite.cgi):
#!"C:xamppxamppperlbinperl.exe"
# Прочитане на стандартният вход, изпратен от формата:
read(STDIN, $FormData, $ENV{'CONTENT_LENGTH'});
# разделяне на всеки елемент на двойки от име-стойност
@pairs = split(/&/, $FormData);
# Извършване на нещо с всички име-стойност
foreach $pair (@pairs) {
	# разделяне на името от стойността
	($name, $value) = split(/=/, $pair);
	$value =~ tr/+/ /; #С този ред запазваш шпациите иначе perl ще ги превърне в "+"
	$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; # Изключително важно ако данните са на кирилица
	$FORM{$name} = $value;
}
 
print "Content-Type: text/html\n\n"; 
 
$txtfile="textfile.txt";
open(FILE,">>$txtfile") || die("Cannot Open File");
print FILE "$FORM{'textfield'}\n";
close(FILE);
 
print "<html><head></head>";
print "<body>$FORM{'textfield'}</body></html>";

dreven
Нед, 02.03.08, 18:05
Благодаря ти за съдействието.
dreven
Нед, 02.03.08, 19:16
Специални адмирации за Phrozencrew от Пловдив, това което аз не успях да постигна за три дни търсения в интернет, той ми го предложи в готов РАБОТЕЩ вариант. Нека даде Господ на всички ни да бъдем така полезни на някого, както той бе полезен на мен.
phrozencrew
Нед, 02.03.08, 20:19

RE: Манипулиране на txt файл разположен на сървър, чрез скрипт

” Специални адмирации за Phrozencrew от Пловдив, това което аз не успях да постигна за три дни търсения в интернет, той ми го предложи в готов РАБОТЕЩ вариант. Нека даде Господ на всички ни да бъдем така полезни на някого, както той бе полезен на мен. „
Честно казано сега се сещам поне за още 2-3 варианта на горния код, които биха свършили работата много по-елегантно, но ще е трудно да схванеш поезията на perl ако не си се занимавал с него, така че няма да те товаря повече. Но за сега! :)
Това, което не можеш да направиш с друг език с perl ще можеш да го направиш поне по 20 начина и то лесно. Но езика наистина иска отдаване и любов. Нищо друго, защото той е език за забавление. Perl е много далече от твоя любим език, който също уважавам заради Excel, разбира се, че говоря за VisualBasic :).
Радвам се, че съм ти помогнал колкото мога приятелю. Господ да ти дава здраве и ни посещавай по-честичко във форума, защото си изключително ценен със знанията си!

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.