Hromadný upload fotek – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Hromadný upload fotek – PHP – Fórum – Programujte.comHromadný upload fotek – PHP – Fórum – Programujte.com

 

Paja2
~ Moderátor
+2
Věrný člen
6. 4. 2008   #1
-
0
-

Mohl by mi někdo poradit jak bych mohl upravit tento skript na hromadný upload fotek, např pomocí 5 formulářů

<?php

include "config.php";
mysql_query("SET NAMES UTF8");

$galerie = $_GET["galerie"];

$rand = rand(10,999);

function seo ($title){
$address = $title;
$address = Strtr($address, "áÁéÉíÍóÓúÚůŮýÝěĚšŠčČřŘžŽťŤďĎňŇ ", "aAeEiIoOuUuUyYeEsScCrRzZtTdDnN-");
$address = strtolower ($address);
$re = "/[^[:alpha:][:digit:]]/";
$replacement = "-";
$address = preg_replace ($re, $replacement, $address);
$address = trim ($address, "-");
$re = "/[-]+/";
$replacement = "-";
$address = preg_replace ($re, $replacement, $address);
return $address;
}

// ------------------------------------------------- ZPRACOVÁNÍ DOTAZŮ -------------------------------------------------------------------
// UPLOAD FOTKY
if (isset ($_POST['pridat_fotku'])){
if (!$pridat_fotku_gal) {
die ("<p>Nevybrali jste galerii pro upload obrázku nebo nezadali název fotky !<a href=\"index.php?q=galerie_admin\">Zpět do administrace galerie.</a></p>");
}

if ($soubor_type == "text/plain" || $soubor_type="text/html")
{
if(($pridat_fotka)=="") echo"cyhby";


if (move_uploaded_file ($soubor, "./img/fotky/".$nazev."_o.jpg"))
{
$filename = "./img/fotky/".$nazev."_o.jpg";

$array = getimagesize($filename);
$width_orig= $array[0];
$height_orig= $array[1];

if($width_orig > $height_orig) {$width= 180; $height= 135;}
else {$height= 180; $width= 135;}

$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagejpeg($image_p, "./img/fotky/".$nazev."_m.jpg", 80);
mysql_query("INSERT INTO fotky (seo_nazev, seo_gal, nazev) values ('$nazev', '$pridat_fotku_gal', '".$_POST['pridat_fotka']."')");

if (($width_orig > 800)and($width_orig > $height_orig)) {
$width = 800; $height = 800 / $width_orig * $height_orig;

$image_p = imagecreatetruecolor($width, $height);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagejpeg($image_p, "./img/fotky/$nazev.jpg", 80);
}

elseif (($height_orig > 700)and($width_orig < $height_orig)){
$height = 700; $width = 700 / $height_orig * $width_orig;

$image_p = imagecreatetruecolor($width, $height);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagejpeg($image_p, "./img/fotky/$nazev.jpg", 80);

}

else {

$image_p = imagecreatetruecolor($width_orig, $height_orig);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width_orig, $height_orig, $width_orig, $height_orig);
imagejpeg($image_p, "./img/fotky/".$nazev.".jpg", 80);

}
unlink($filename);

echo "<p>Fotka <strong>".$_POST['pridat_fotka'].".jpg</strong> byla úspěšně nahrána do galerie.</p>";
}else {echo "<p>Soubor nemohl být nahrán, zřejmě došlo k chybě!</p>";}*/
}else {echo "<p><strong>Zadali jste špatný typ souboru!</strong></p>";}









// ------------------------------------------------- FORMULÁŘE -------------------------------------------------------------------
$sql = mysql_query("SELECT * FROM galerie ORDER BY id DESC");
while ($q = mysql_fetch_array($sql)):
$fotoid = $q["id"];
$seo_gal = $q["seo_gal"];
$nazev = $q["nazev"];
echo "<input type=\"radio\" name=\"pridat_fotku_gal\" value=\"$seo_gal\" /> $nazev\n";
endwhile; // PŘIDAT FOTKU
echo"<form action=\"\" method=\"post\" enctype=\"multipart/form-data\">";
for($i=0;$i<=5;$i++){
echo("<h2 class=\"gal_admin\">Přidat fotku</h2>

<input type=\"file\" name=\"soubor\" /> \n");
echo ("
Název fotky: <input type=\"text\" name=\"pridat_fotka\" value=\"\" size=\"30\" class=\"pole\" />

<hr />\n");
}
echo"<input type=\"submit\" value=\"Nahrát\" name=\"pridat_fotku\" />
</form>";

Nahlásit jako SPAM
IP: 88.146.215.–
byF0
Návštěvník
14. 4. 2008   #2
-
0
-

Nechce se mi zkoumat ten kód, nicméně obecný algoritmus:

foreach($_FILES as $file):
//TODO - app logika s konkrétním souborem
endforeach;

Nahlásit jako SPAM
IP: 90.176.137.–
Tocimanko0
Grafoman
14. 4. 2008   #3
-
0
-

To byF : Už som mu hovoril :D

Nahlásit jako SPAM
IP: 195.91.54.–
Paja2
~ Moderátor
+2
Věrný člen
19. 4. 2008   #4
-
0
-

To byF : Dobře, a kdybych chtěl ještě k fotce uložit její název z inputu tak bych musel použít foreach 2x ?

Nahlásit jako SPAM
IP: 88.146.215.–
byF0
Návštěvník
21. 4. 2008   #5
-
0
-

To Paja2 :

použiješ vlastnosti $file, cituji z php manuálu:

The contents of $_FILES from the example form is as follows. Note that this assumes the use of the file upload name userfile, as used in the example script above. This can be any name.

$_FILES['userfile']['name']

The original name of the file on the client machine.
$_FILES['userfile']['type']

The mime type of the file, if the browser provided this information. An example would be "image/gif". This mime type is however not checked on the PHP side and therefore don't take its value for granted.
$_FILES['userfile']['size']

The size, in bytes, of the uploaded file.
$_FILES['userfile']['tmp_name']

The temporary filename of the file in which the uploaded file was stored on the server.
$_FILES['userfile']['error']

The error code associated with this file upload. This element was added in PHP 4.2.0



Stačí Ti v tom foreach provést něco s $file['name']...

Nahlásit jako SPAM
IP: 90.176.137.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Hromadný upload súborov... ? — založil Tocimanko

Upload fotek na www — založil cmml

Uprava a upload fotek ASP.NET — založil rybar73

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý