Autor Zpráva
Gabo
Profil *
Ahojte, chcel by som nahravat fotky na web s moznostou vyberu adresaru kam sa ma dana fotka nahrat, poradite????
ReVolt
Profil
udělej si <select>s možnostmi kam lze uloadnout a při zpracování použij pro cílový adresář hodnotu ze selecu
víc ti říct nemůžu, nevím jak máš strukturován kód, přidej sem kód, aby se dalo říct více
Gabo
Profil *
subory vyzeraju takto: upload.php

<?php
if ($pokracuj == 1) 
{ // uživatel je přihlášený tak mu dovolíme nahrát fotky
    echo '<span class="small">Maximálna šírka obrázku je 1280 px., väčší obrázok nie je možné uložiť.<br>Uložiť je možné len obrázok vo formáte JPG.<br>Obrázok sa uloží do albumu "SIAF".<br><br>V názve obrázku nepoužívajte špeciálne znaky!</span>'."\n";
    echo '<hr>'."\n";

    if ( isset($_GET['upload']) ) { $send = $_GET['upload']; }
    if ( (isset($send)) && ($send == "ok") )
    {
        $slozka = "vsetky/";
        $soubor = $_FILES["file"]["tmp_name"];
        $type = $_FILES["file"]["type"];

        if ($type == "image/jpeg")
        {
        if (is_uploaded_file($soubor))
            {
                $velikost=getimagesize($soubor);
                $sirka=$velikost[0];
                $vyska=$velikost[1];
                if ($sirka <= 1280)
                    {
                        $foto = $_FILES["file"]["name"];
                        $rename_foto = strtr($foto,"äëiöüáčďéěíňóřšťúůýž ÄËIÖÜÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ.","aeiouacdeeinorstuuyz_aeiouacdeeinorstuuyz-");
                        if (!file_exists($slozka.$rename_foto)) 
                        {
                            move_uploaded_file($_FILES["file"]["tmp_name"], $slozka.$rename_foto);
                            header('location: index.php?kapitola=siaf_watermark&image='.$foto);
                            /*echo '<script type="text/javascript" language="javascript" event="onLoad()">';
                            echo '//<![CDATA[ 
                                window.setTimeout("window.location.href=\"thumb800.php?image='.$foto.'\"", 1000)';
                            echo '//]]> 
                                </script>';*/
                        }
                        else { echo "<p><span class='red'>Nahrávanie fotografie zlyhalo, súbor s rovnakým názvom už existuje.</span></p>"; }
                    }
                else { echo "<p><span class='red'>Nahrávanie fotografie zlyhalo, veľký obrázok! (".$sirka."x".$vyska."px)</span></p>"; }
            }
        } 
        else { echo "<p><span class='red'>Nahrávanie fotografie zlyhalo, len súbor jpg je možné nahrať!</span></p>"; } 
    }
    // formular pro upload
    echo "<form action='index.php?kapitola=fotosutaz&upload=ok' method='post' enctype='multipart/form-data'>";
    echo '<input type="file" name="file"><br>'."\n";
    echo "<br>"."\n";
    echo '<input type="submit" value="Vložit"></form>'."\n";
    echo "<br>"."\n";    echo "<br>"."\n";
    if ( (isset($_GET['up'])) && ($_GET['up'] == "ok") ) { echo "Súbor bol nahratý"; }
}
else {
    echo "Pre upload obrázku musíte byť prihlásený!";
}
    
?>

a thumb800.php
<?php 
if ($pokracuj == 1) {
header('Content-type: image/jpeg');
/**********************************************
script na zmenšení fotky s přidáním vodoznaku
***********************************************/

$galerie = $_GET['pict']; // získání složky kam se má zmenšená fotka uložit
$jmeno= $_GET['image']; // získání názvu fotky
$adresa = "./photos/SIAF/".$jmeno; // cílová složka
$adresa_org = "./vsetky/".$jmeno;             // zdrojový obrázek

$font_size = 14;  // velikost textu
$font = "./verdana.ttf";
$datum = Date("j.m.Y");

$obr = "preklad.png";    
$podklad = ImageCreateFromPNG($obr);
$color = ImageColorAllocate($podklad, 200, 200, 200);


    $velikost=getimagesize($adresa_org);
    $sirka=$velikost[0];
    $vyska=$velikost[1];
    if ( $sirka < 1280 ) // Nezvetsuj mensi fotky
    {
        $tn_sirka = $sirka;
        $tn_vyska = $vyska;
    }
    else     // fotka má 1280px
    { 
        $tn_sirka=1280;  // požadovaná šířka fotografie
        $tn_vyska=1280*($vyska/$sirka); // dopočítání správné výšky v poměru
    }
    
    if ( $tn_sirka <= 1024 )   // velikost písma podle velikosti obrázku
    {
        $font_size = 11;
        $font = "./verdanab.ttf";
        if ( $tn_sirka < 800 ) 
            { 
                $font_size = 9; 
                if ( $tn_sirka < 400 ) 
                { 
                    $font_size = 6; 
                }
            }
    }
    
    $zhora = $tn_vyska - 20;
    $bbox = imagettfbbox ($font_size,0,$font,"upload by:".$_SESSION['login']);
    $zlava = ($tn_sirka / 2)-($bbox[2] / 2);
    
    $org=ImageCreateFromJpeg($adresa_org);
    $tn=ImageCreateTrueColor($tn_sirka,$tn_vyska);
    umask(0000); 
    
    ImageCopyResampled($tn,$org,0,0,0,0,$tn_sirka,$tn_vyska,$sirka,$vyska);
    ImageTTFText ($tn, $font_size, 0, $zlava, $zhora, $color, $font,"upload by: ".$_SESSION['login']);
    ImageJpeg($tn, $adresa, 95);
    //ImageJpeg($tn);
    ImageDestroy($tn);
    ImageDestroy($org);

header("HTTP/1.1 301 Moved Permanently");
header('location: index.php?kapitola=upload_picture_complete_siaf');
header("Connection: close");
}
else 
{
    echo "Pre nahranie fotiek musíte byť prihlásený!";
}

?>


Obrazky teraz nahrava do adresaru SIAF... ja by som chcel aby sa tento adresar dal zmenit... a nejak to nejdem rozchodit
DAKUJEM

Moderátor Joker: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
ReVolt
Profil
tak dej to toho formuláře možnost výběru adresáře např.:
<select name="adresar">
<option value="adresar_1">adresář 1</option>
<option value="adresar_2">adresář 2</option>
.
.
.
<option value="adresar_n">adresář n</option>
</select>


a tam kde zpracováváš data doplň
$vybrany_adresar = $_POST['adresar'];

a v tomto případě vypadá kód pro vložení do vybraného adresáře takto:
$adresa = "./photos/" . $vybrany_adresar . "/".$jmeno; // cílová složka 
Gabo
Profil *
mozete to tam doplnit nejak sa mi to nedari rozchodit dakujem
ReVolt
Profil
aha, jsem si nevšiml, že to jsou dva různé soubory, zkus to udělat takhle:
upload.php
formulář
 echo "<form action='index.php?kapitola=fotosutaz&upload=ok' method='post' enctype='multipart/form-data'>";
    echo '<input type="file" name="file"><br>'."\n";
    echo "<br>"."\n";
    echo "Složka: <select name=\"adresar\">";
    echo "<option value=\"adresar_1\">adresář 1</option>";
    echo "<option value=\"adresar_2\">adresář 2</option>";
    .
    .
    .
    echo "<option value=\"adresar_n\">adresář n</option>";
    echo "</select>";
    echo '<input type="submit" value="Vložit"></form>'."\n";
    echo "<br>"."\n";    echo "<br>"."\n";
    if ( (isset($_GET['up'])) && ($_GET['up'] == "ok") ) { echo "Súbor bol nahratý"; }
}
else {
    echo "Pre upload obrázku musíte byť prihlásený!";
}

potom místo
$vybrany_adresar = $_POST['adresar'];

zkus použít relaci
$_SESSION['vybrany_adresar'] = $_POST['adresar'];


v souboru thumb800.php
$vybrany_adresar = $_SESSION['vybrany_adresar'];

a potom už by měl fungovat tento kód
$adresa = "./photos/" . $vybrany_adresar . "/".$jmeno; // cílová složka

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0