Poniższy skrypt służy do obsługi newsów na płaskich bazach danych. Umożliwia wstawienie pliku jpg i gif, kontroluje ich szerokości i wysokości, a także dopuszczalnmy rozmiatr pliku. Połączyłem go ze skryptem, który dodaje treść do opliku tekstowego.
Pytanie brzmi, czy zachować ten skrypt tak jak jest, czy podzielić na mniejsze fragmenty? A może wogóle inaczej go napisać?
[php:1:45edb9d163]<?php
if ($thefile && $tytul && $imie && $tekst)
{
$aErrors = "";
if ( !empty( $thefile_name ) ) // nie wybrano pliku
{
if ( ( $thefile_type == "image/gif" ) ||
( $thefile_type == "image/pjpeg" ) ||
( $thefile_type == "image/jpeg" ) )
{
if ( $thefile_size < ( 1024 * 100 ) )
{
$aCurBasePath = dirname( $PATH_TRANSLATED );
$aNewName = $aCurBasePath . "/jpg/" .
$thefile_name;
copy( $thefile, $aNewName );
}
else
{
$aErrors .= "Za duży plik !!!";
}
}
else
{
$aErrors .= "Plik nie jest typu gif ani jpeg";
}
}
else
{
$aErrors .= "Nie wybrano pliku";
}
if ( $aErrors != "" )
{
print( "<b>Wystąpił błąd</b>: $aErrors<br>" );
}
else
{
print( "Przesłany plik:<br><br>" );
print( "<img src="jpg/$thefile_name" border="0">" );
}
//
// Program pobiera wielkości obrazka i w przypadku za duzego skaluje go do podanych wymiarów
$correctwidth=200;
$correctheight=200;
$nazwarysunku = "jpg/$thefile_name";
$rysunek = imagecreatefromjpeg ($nazwarysunku);
if ((imagesx($rysunek)) > $correctwidth)
{
$roznicax=(imagesx($rysunek)) - $correctwidth;
$newsizex=(imagesx($rysunek)) - $roznicax;
$dane="<table cellspacing=0 border=0 width=100%><tr><td valign=top><h3>$tytul</h3></td></tr><tr><td><p><img src="php/$nazwarysunku" width=$newsizex align=left border="0">$tekst</p></td></tr><tr><td><h3 align=right>$imie</h3></td></tr></table>";
if (((imagesy($rysunek)) > $correctheight) && (!(imagesx($rysunek)) > $correctwidth))
{
$roznicay=(imagesy($rysunek)) - $correctheight;
$newsizey=(imagesy($rysunek)) - $roznicay;
$dane="<table cellspacing=0 border=0 width=100%><tr><td valign=top><h3>$tytul</h3></td></tr><tr><td><p><img src="php/$nazwarysunku" width=$newsizey align=left border="0">$tekst</p></td></tr><tr><td><h3 align=right>$imie</h3></td></tr></table>";
}
}
else
{
$dane="<table cellspacing=0 border=0 width=100%><tr><td valign=top><h3>$tytul</h3></td></tr><tr><td><p><img src="php/$nazwarysunku" align=left border="0">$tekst</p></td></tr><tr><td><h3 align=right>$imie</h3></td></tr></table>";
}
//koniec skalowania
//wczytywanie danych
if ($tytul && $imie && $tekst && $opcja)
{
$plik=fopen("$opcja.txt", "r+");
flock ($plik, 2);
$contents = fread ($plik, filesize ("$opcja.txt"));
flock ($plik, 3);fclose ($plik);
$plik2=fopen("$opcja.txt","w+");
flock ($plik2, 2);
fputs ($plik2, "$dane");
fputs ($plik2, "$contents");
flock ($plik2, 3);
fclose ($plik2);
}
else
{
print "Brak danych do wprowadzenia";
}
}
//BEZ OBRAZKA
else
{
if ($tytul && $imie && $tekst && $opcja)
{
$dane="<h3>$tytul</h3><br><p>$tekst</p><h3 align=right>$imie</h3>";
$plik=fopen("$opcja.txt", "r+");
flock ($plik, 2);
$contents = fread ($plik, filesize ("$opcja.txt"));
flock ($plik, 3);fclose ($plik);
$plik2=fopen("$opcja.txt","w+");
flock ($plik2, 2);
fputs ($plik2, "$dane");
fputs ($plik2, "$contents");
flock ($plik2, 3);
fclose ($plik2);
print "<p class=ok>Dodano newsa do pliku $opcja.txt";
}
else
{
print "<p class=war>Brak danych do wprowadzenia</p><br><br>";
}
}
print '<form action="" method=POST enctype="multipart/form-data">';
print '<table cellspacing=0 cellpadding=0 border=0><tr><td valign=top>';
print '<p class=addnews>Wybierz stronę</p><br></td>';
print '<td valign=top><SELECT name="opcja"><OPTION SELECTED value="">->Wybierz Stronę';
print '<OPTION VALUE="newsy/news">Strona Główna';
print '<OPTION VALUE="newsy/newslarp">Larp';
print '<OPTION VALUE="newsy/newspol">Polcon';
print '<OPTION VALUE="newsy/test">Strona Testowa';
print '</select>';
print '</td></tr>';
print '<tr><td valign=top>';
print '<p class=addnews>Wstaw obrazek</td>';
print '<td valign=top><input type="file" name="thefile"></p></td></tr><tr><td valign=top>';
print "<p class=addnews>Tytuł </td><td>";
print '<input type="text" name="tytul"><br></p></td></tr><tr><td valign=top>';
print "<p class=addnews>Imię </td><td>";
print '<input type="text" name="imie"><br></p></td>';
print '<td valign=top width=100 align=right><input type="submit" name="go" value="Zapisz"></td></tr></table>';
print '<textarea type="text" name="tekst" cols=50 rows=15>';
print "</textarea><br>";
print '</form>';
?>[/php:1:45edb9d163]