Witam,
Mam problem jak przerobić skrypt ten :
<html><body><form action="upload.php" method="post" enctype="multipart/form-data">
<p><input type="file" name="upload_image[]" /></p>
<p><input type="file" name="upload_image[]" /></p>
<p><input type="file" name="upload_image[]" /></p>
<p><input type="submit" name="upload_submit" value="Wyślij!" /></p>
</form>
cos
<?php
$config['thumbnail_width'] = 180; // maksymalna szerokość miniatury w pikselach
$config['thumbnail_height'] = 160; // maksymalna wysokość miniatury w pikselach
$config['thumbnail_scale'] = true; // czy przy minimalizowaniu wielkości zachowywać skalę?
$config['path_images'] = 'zdjecia/'; // ścieżka do katalogu grafik
$config['path_thumbnails'] = 'miniatury/'; // ścieżka do katalogu miniatur
$config['max_file_size'] = 1048576; // maksymalna wielkość pliku w bajtach, 1MB
$config['accepted_extensions'] = array('jpg', 'jpeg', 'png', 'gif'); // dozwolone rozszerzenia $config['accepted_mimes'] = array('image/jpg', 'image/jpeg', 'image/png', 'image/gif'); // dozwolone typy MIME
if ( !mkdir($config['path_images']) ) { // utworzenie katalogu wraz exit('Folder obrazków niemożliwy do utworzenia!'); }
chmod($config['path_ images'], 0777); // nadanie praw
}
if ( !file_exists($config['path_thumbnails']) || !is_dir($config['path_thumbnails']) ) { if ( !mkdir($config['path_thumbnails']) ) { // utworzenie katalogu exit('Folder miniaturek niemożliwy do utworzenia!'); }
chmod($config['path_thumbnails'], 0777); // nadanie praw
}
if ( !dl('gd') ) { // próba wymuszenia załadowania exit('Biblioteka GD nie została załadowana!'); }
}
if ( isset($_FILES['upload_image']) && isset($_POST['upload_submit']) ) {
// pętla analizująca zawartość wszystkich trzech potencjalnie wysyłanych plików
foreach ( $_FILES['upload_image']['error'] as $key => $arr )
{
if ( $_FILES['upload_image']['error'][$key] != UPLOAD_ERR_OK )
{
// błąd wysyłania pliku
continue;
}
if ( $_FILES['upload_image']['size'][$key] > $config['max_file_size'] )
{
// plik jest za duży
continue;
}
if ( file_exists($config['path_images'] . $_FILES['upload_image']['name'][$key]) ) {
// poinformowanie użytkownika o fakcie, że plik o takiej nazwie już istnieje
continue;
}
$extension = explode('.', $_FILES['upload_image']['name'][$key]); if ( in_array(strtolower($extension[count($extension)-1
]), $config['accepted_extensions']) === false || in_array($_FILES['upload_image']['type'][$key], $config['accepted_mimes']) === false ) {
// niepoprawne rozszerzenie pliku
continue;
}
$image = getimagesize($_FILES['upload_image']['tmp_name'][$key]); if ( !is_array($image) || $image[0] < 1 ) {
// plik graficzny jest spreparowany
continue;
}
{
// plik nie został wysłany
continue;
}
if ( !move_uploaded_file($_FILES['upload_image']['tmp_name'][$key], $config['path_images'] . $_FILES['upload_image']['name'][$key]) ) {
// wysyłanie nie może zostać zakończone poprawnie
continue;
}
// wysyłanie pliku powiodło się!
// opcjonalnie, jeżeli chcemy tylko z poziomu skrypt mieć dostęp do plików możemy odkomentować poniższa linijkę
// chmod($config['path_images'] . $_FILES['upload_image']['name'][$key], 0600);
print generateThumbnail
($_FILES['upload_image']['name'][$key], $extension[count($extension)-1
]); // funkcja tworząca miniaturkę }
}
function generateThumbnail($filename, $extension)
{
// sprawdzenie, czy plik o podanej nazwie już nie istnieje
if ( file_exists($config['path_thumbnails'] . $filename) ) {
unlink($config['path_thumbnails'] . $filename); // usunięcie miniatury }
// stworzenie nowej grafiki wg typu
switch ( $extension )
{
case 'gif':
$ic = imagecreatefromgif($config['path_images'] . $filename);
break;
case 'png':
$ic = imagecreatefrompng($config['path_images'] . $filename);
break;
default:
$ic = imagecreatefromjpeg($config['path_images'] . $filename);
break;
}
if ( $ic === false )
{
return 'Miniaturka nie stworzona!';
}
$is = getimagesize($config['path_images'] . $filename); // [0] - szerokość, [1] - wysokość switch ( $config['thumbnail_scale'] )
{
case false: // zmniejszanie bezpośrednio do 180x160px
$nts = imagecreatetruecolor($config['thumbnail_width'], $config['thumbnail_height']);
imagecopyresized($nts, $ic, 0, 0, 0, 0, $config['thumbnail_width'], $config['thumbnail_height'], $is[0], $is[1]);
break;
default: // zmniejszanie z zachowaniem skali, aż do osiągnięcia co najmniej 180x160px
$width = $is[0];
$height = $is[1];
$ratio = $is[0] / $config['thumbnail_width'];
if ( $ratio > 1 )
{
$width = $config['thumbnail_width'];
$height = intval($is[1
] / $ratio); }
$ratio = $height / $config['thumbnail_height'];
if ( $ratio > 1 )
{
$width = intval($width / $ratio); $height = $config['thumbnail_height'];
}
$nts = imagecreatetruecolor($width, $height); // utworzenie obrazka o podanych rozmiarach z czarnym tłem
imagecopyresized($nts, $ic, 0, 0, 0, 0, $width, $height, $is[0], $is[1]); break;
}
switch ( $extension ) // zapis do pliku
{
case 'gif':
imagegif($nts, $config['path_thumbnails'] . $filename);
break;
case 'png':
imagepng($nts, $config['path_thumbnails'] . $filename);
break;
default:
imagejpeg($nts, $config['path_thumbnails'] . $filename);
break;
}
imagedestroy($nts); // zniszczenie obrazka
return $config['path_thumbnails'] . $filename;
}
?>
</body></html>
Z tym
<?php
if (isset($_POST['konto'])==$login and
isset($_POST['password'])==$haslo) {
if ($_POST['konto']==$login && $_POST['password']==$haslo)
{
$konto=$_POST['konto'];
$password=$_POST['password'];
$zdjecie=$_POST['zdjecie'];
$opis=$_POST['opis'];
$nazwa=$_POST['nazwa'];
$cena=$_POST['cena'];
$ile = mysql_query("SELECT * FROM `nowe` WHERE Zdjecie = '$zdjecie'");
if ($ile==0) {
$dodanie="INSERT INTO xxx.nowe (nr, Zdjecie, Cena, Opis, Nazwa) VALUES (NULL, '$zdjecie', '$cena', '$opis', '$nazwa')";
echo('Dodano: <br />Nazwa na stronie:<b>'.$nazwa.'</b><br /> Cena:<b>'.$cena.'</b> <br /> Nazwa w bazie:<b>'.$zdjecie.'</b><br /> Opis:<b>'.$nazwa.'</b><br />');
}
elseif($ile>0) {
echo("Zdjecie o takiej nazwie już istnieje"); }
}
else {
echo("Niepoprawne dane logowania"); echo("<br /><a href='dodawanie.php'>Spróbuj ponownie</a> "); }
}
?>
<form action="dodawanie.php" method="post">
<table width="359" height="195" border="1">
<tr>
<td width="196"><strong>Login</strong></td>
<td width="147"><input name="konto" type="text" value="" /></td>
</tr>
<tr>
<td><strong>Hasło</strong></td>
<td><input name="password" type="password" value="" /></td>
</tr>
<tr>
<td><strong>Nazwa zdjecia</strong></td>
<td><input name="zdjecie" type="text" value="" /></td>
</tr>
<tr>
<td><strong>Nazwa zdjecia na stronę</strong></td>
<td><input name="nazwa" type="text" value="" /></td>
</tr>
<tr>
<td><strong>Cena</strong></td>
<td><input name="cena" type="text" value="" /></td>
</tr>
<tr>
<td><strong>Opis</strong></td>
<td><input name="opis" type="text" value="" /></td>
</tr>
<tr>
<td><input type="submit" value="DODAJ" /></td>
<td> </td>
</tr>
</table>
<a href="index.php"> Powrót do strony głównej </a>
</form>
</body>
</html>
Pierwszy skrypt uploaduje max 3 zdjecia i tworzy ich miniaturki. Chciałbym oba połączyć w 1 tak aby po wpisaniu loginu hasła ( skrypt 2) zaczęło dodawać wybrane zdjęcie i zamiast zmiennej $zdjecie dawało nazwę pliku połączyłem oba ale zamiast pliku po przypisaniu do zmiennej $zdjecie = $_FILES['upload_image']['name'] dodaje mi tylko Array jako nazwę