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!
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!