moze przedstawie dwa pliki:
upload.php
<?php
$currentdir= "./pliki/".date('dmyHis')."/"; mkdir($currentdir ,0777
);//tworzymy katalog $plik=fopen($currentdir."opis.txt","w+"); fputs($plik,"Imię i nazwisko:".chr
(10
).$_POST['imie'].chr
(10).chr
(10)."Adres email:".chr
(10
).$_POST['email'].chr
(10).chr
(10)."Kategoria:".chr
(10
).$_POST['kategoria'].chr
(10).chr
(10)."Tytuł:".chr
(10
).$_POST['tytul'].chr
(10).chr
(10)."Treść wiadomości:".chr
(10
).$_POST['tresc'].chr
(10).chr
(10)."Dodano: ".chr
(10
).date("d F Y, H:i")); //tabela
echo '<div align="center">'; echo '<table width="634" cellspacing="0" cellpadding="0" class="border" bgcolor="#FFFFFF" style="text-align: left">'; echo '<td colspan="2" align="center">'; echo "Dziękujemy. Aby sfinalizować operację kliknij \"dalej\".<br />"; echo "Jeżeli przesyłasz zdjęcia, możesz również krótko je opisać (a nawet jest to wskazane). "; echo'<form action="up.php" method="post">'; foreach($_FILES as $file) {
chmod($currentdir, 0755);
$wynik = strtr($file['name'], 'ĘÓĄŚŁŻŹŃęóąśłżźćń ', 'EOASLZZCNeoaslzzcn_');
if ($file['size'] < 204800) { // rozmiar podaje się w bajtach, 204800 B = 200 KB
chmod($currentdir.$wynik, 0644);
$img = imagecreatefromjpeg($currentdir.$wynik);
$width = imagesx($img);
$height = imagesy($img);
$width_mini = 250;
$wynikObliczen = round(($height*$width_mini)/$width); $height_mini = $wynikObliczen;
$img_mini = imagecreatetruecolor($width_mini, $height_mini);
imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width , $height);
if(imagejpeg($img_mini,$currentdir."mini_".$wynik, 80))
else
imagedestroy($img);
imagedestroy($img_mini);
echo "<img src=".$currentdir."mini_".$wynik."><br>";
echo 'tytuł/opis zdjęcia (pole opcjonalne)'; echo'<textarea cols=30 rows=4 name="tytul[]"></textarea></td>'; }
} else {
echo "rozmiar zdjęcia <strong>$wynik</strong> jest zbyt duży, klikając dalej zdjęcie <strong>$wynik</strong> nie zostanie uwzględnione"; }
}
echo '<td colspan="2" align="center">'; echo "<input type='hidden' name='sciezka' value='$currentdir' />"; echo'<input type="submit" name="wgraj" value="dalej" />';
?>
oraz up.php
dziekujemy operacja powiodla sie
<?php
foreach ($_POST["tytul"] as $klucz) {
echo 'tytuł: '.$klucz.'<br>'; $nazwapliku = $_REQUEST['sciezka'];
$ss=fopen($nazwapliku."tytul.txt","a"); fputs($ss,chr
(10
).$klucz.chr
(10
));
}
?>
Jak widac przekazuje tablice,
<?php
echo'<textarea cols=30 rows=4 name="tytul[]"></textarea></td>'; ?>
, jednak pole w formularzu jest opcjonalne i nie zawsze ktos tam wpisze tytyl zdjecia. Jak zrobic zeby nie wywalalo tego bledu:
Warning: Invalid argument supplied for foreach() in
/home.11/t/r/e/trekeart/www/up.php on line
9