Autor Zpráva
jmills
Profil
Dobrý deň
Na úvod sa ospravedlňujem, ale PHP som sa ešte nevenoval. HTML/CSS trochu ovládam...
Potrebujem na moje stránky jednoduchý upload obrázkov (nemusí byť hromadný). Upload mám spravený (stiahnutý z netu, taký mi stačí..), všetko funguje. Ale potrebujem, aby mi obrázok, ktorý nahrajem ukázalo na tej istej stránke, ako je ten "upload".
Chcel by som, aby mi to nejako zapísalo do môjho html, aby mi automaticky vytvorilo
<a HREF="foto1.jpg"> <img SRC="foto1.jpg" BORDER="1" WIDTH="300" HEIGHT="200"></a>

Dá sa to nejako jednoducho spraviť?
Ďakujem!
Karol

HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  
  <!-- MENO_1 //-->
  <title> Aphria sp. </title>
  
  </head>

<?php include_once("../top.html") ?>
 
  <center>

  <!-- MENO_2 //-->
  <h2> Aphria sp. </h2>

  
  <!-- CELAD //-->
  Tachinidae - bystrušovité

<hr>

  <!-- MENO_3 //-->
<i>  Aphria sp.  </i>

<br />
<br />

<a HREF="foto1.jpg"> <img SRC="foto1.jpg" BORDER="1" WIDTH="300" HEIGHT="200"></a>
<a HREF="foto5.jpg"> <img SRC="foto5.jpg" BORDER="1" WIDTH="300" HEIGHT="200"></a>

<br />
<hr />
© Karol Ox
</center>
</body>
</html>

PHP upload

<?php
 
// konfigurace
$uploadDir = '.'; // adresar, kam se maji nahrat obrazky (bez lomitka na konci)
$allowedExt = array('jpg', 'jpeg'); // pole s povolenymi priponami
 
// zpracovani uploadu
if(isset($_FILES['obrazky']) && is_array($_FILES['obrazky']['name'])) {
 
    $counter = 0;
    $allowedExt = array_flip($allowedExt);
    foreach($_FILES['obrazky']['name'] as $klic => $nazev) {
 
        $fileName = basename($nazev);
        $tmpName = $_FILES['obrazky']['tmp_name'][$klic];
 
        // kontrola souboru
        if(
            !is_uploaded_file($tmpName)
            || !isset($allowedExt[strtolower(pathinfo($fileName, PATHINFO_EXTENSION))])
        ) {
            // neplatny soubor nebo pripona
            continue;
        }
 
        // presun souboru
        if(move_uploaded_file($tmpName, "{$uploadDir}".DIRECTORY_SEPARATOR."{$fileName}")) {
            ++$counter;
        }
 
    }
 
    echo "<p>Obrázok bol nahratý</p>";
    
}

?>

<form method="post" enctype="multipart/form-data">
    <input type="file" name="obrazky[]" multiple="multiple" />
    <input type="submit" value="Nahraj" />
</form>
peta
Profil
Co treba takhle?
echo "<p>Obrázok bol nahratý</p>"; // radek 33
$url = $uploadDir.DIRECTORY_SEPARATOR.$fileName;
echo '<img src="'.$url.'">';

Moderátor jenikkozak: To asi moc fungovat nebude. V proměnné uploadDir je uložená tečka.
... Aha, pravda, tak potom cele, opraveno.
juriad
Profil
Ještě $url prohnat skrz htmlspecialchars.
Co kdyby třeba název obrázku obsahoval uvozovku?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0