richiamare immagini DB

biscio84

Nuovo Utente
14 Ott 2007
7
0
0
Ciao a tutti..
ho un problema a visualizzare l'url delle immagini che ho nel DB..
il database è composto dalla tabella "immagini" e dai campi "id" "nomeimmagine" "urlimmagine"
per upload ho questo codice, funziona correttamente ma non so come richiamare le immagini in una pagina!

<?
require_once("config.php");
$directory = "images/";
// inseriamo le dimensioni massime consentite per l'upload
// massimo peso
$max_file_size = 100240;
// massima larghezza
$max_width = 300;
// altezza massima
$max_height = 300;

//La parte seguente di codice verifica se esiste il valore "upload" in POST
//In caso contrario viene visualizzato il form per l'upload dell'immagine


if(!isset($_POST['upload'])){
echo "<form action='uploadimage.php' method='post' enctype='multipart/form-data'>
Nome Immagine: <br />
<input type='text' name='nomeimmagine' /> <br />
Inserisci file: <br />
<input type='file' name='immagine' /> <br />
<input type='submit' name='upload' value='Carica Immagine' /></form> ";
}
// enctype='multipart/form-data' all'interno del tag form è fondamentale per l'upload dell'immagine


elseif(isset($_POST['upload'])){
// prendo il timestamp per dare un nome casuale al file dell'immagine
$timestamp = time();
$nomeimmagine = mysql_real_escape_string($_POST['nomeimmagine']);
$dimensioni = getimagesize($_FILES['immagine']['tmp_name']);
$larghezza = $dimensioni[0];
$altezza = $dimensioni[1];


//costruisco l'array degli errori
$errors = array();
if(empty($nomeimmagine) || empty($dimensioni)) {
$errors[] = 'Non hai inserito un nome all\'immagine.';
}
if(empty($_FILES['immagine']['name'])) {
$errors[] = 'Non hai inserito l\'immagine per il caricamento';
}
//verifico se il file è stato caricato correttamente
if(!is_uploaded_file($_FILES['immagine']['tmp_name'])) {
$errors[] = 'Si sono verificati errori durante l\'upload.';
}
if($_FILES['immagine']['size'] > $max_file_size) {
$errors[] = 'Immagine troppo pesante la dimensiome massima consentita è: <b>' . $max_file_size . '</b> bytes.';
}


// Verifico se l'immagine è di tipo jpeg o gif

$type=$_FILES['immagine']['type'];
if($type != "image/gif" && $type != "image/pjpeg" && $type != "image/jpeg" && $type != "image/swf") {
$errors[] = 'L\'immagine deve essere del formato JPEG o GIF.';
}


// controllo le dimensioni dell'immagine
if($altezza > $max_width) {
$errors[] = 'L\'altezza della tua immagine è troppo grande';
}
if($larghezza > $max_width) {
$errors[] = 'La tua immagine è troppo larga.';
}


// Se ci sono stampo gli errori

if(count($errors) > 0) {
echo '<b>ERRORS:</b><br />';
foreach($errors as $err) {
echo $err . '<br />';
}
}
//altrimenti effettuo l'upload
else {
$urlimmagine = $directory. time() . '_' . $_FILES['immagine']['name'];
//inserisco l'immagine nella directory e se tutto va bene nel database
if(copy($_FILES['immagine']['tmp_name'], $urlimmagine)) {
mysql_query("INSERT INTO immagini (nomeimmagine, urlimmagine) VALUES ('$nomeimmagine', '$urlimmagine')");
echo 'L\'immagine è stata caricata con successo. <a href="' . $urlimmagine . '">Clicca qui per vedere l\'immagine</a>.'; }
else
echo 'Si sono verificati errori durante il caricamento dell\'immagine.';

}
}
?>



SE USO QUESTO NON FUNZIONA!!:

<?php
include 'config.php';
$query = "SELECT * FROM immagini";
$resp = mysql_query($query, $db);
while ($row = mysql_fetch_array($resp))
{
$val = $row['id'];
$img = $row['urlimmagine'];
print '<a href="mio_form.php?val='.$val.'" target="_blank">';
print '<img src="'.$img.'"/>';
print "</a>";
}
?>

qualcuno saprebbe spiegarmi il perchè? grazie a tutti..ciao!
 
Sembrerebbe apposto, sicure che il percorso all'immagine sia quello giusto?
 
Ho risolto il problema con questo codice:
PER VEDERE LE IMMAGINI

PHP:
while ($row=mysql_fetch_array($result)) {
    echo "<p><img src=\"{$row['urlimmagine']}\" /></p>";
}
PER VEDERE I LINK
PHP:
while ($row=mysql_fetch_array($result)) {
    echo "<p><a href=\"{$row['urlimmagine']}\">Link</a></p>";
}

ma non riesco a capire come fare per far si che quando clicco sull'immagine mi apre la pagina "mio_form.php" che conterrà l'immagine cliccata e un form uguale per tutti con il campo 'nome' che richiama il nome dell'immagine dal DB

HTML:
<tr><td>Nome:</td><td><input type="text" name="nome" class="input" size="60" value="<?php echo $nomeimmagine;?>">
ma non funzia
 
ok..per quello ci sono riuscito..mi mancherebbe l'ultimssima cosa...quando visualizzo le immagini me le mette una sotto l'altra..è possibile dirgli di metterle 2 o 3 a fianco e poi andare a capo?
puoi vedere l'esempio qui http://tshop.altervista.org
ciao e grazie
 

Discussioni simili