Log in

View Full Version : Inserimento automatico immagini



Katzenjammer
10th May 2009, 19:34
In pratica devo fare un sito.
Sta persona vuole mettere una galleria di immagini fatta con lightbox, in modo che clicchi sull'immagine e ti si apre il robo in js con l'immagine in primo piano.
Beh vuole anche che la gente possa uploadare delle immagini e che queste vengano inserite automaticamente nella galleria.
Ora, io ho più o meno in mente come farlo con PHP, ma è solo teoria. Non so programmare e ci perderei davvero tanto tempo.
Serve qualcosa che uppa l'immagine tramite un modulo inserito nella pagina, e aggiunga automaticamente la porzione di codice in js con incluso il nome del file uppato, immagino, ma ripeto... ci metterei troppo tempo e questa ha fretta.

Sapete se c'è qualcosa di "pronto" per farlo?

Katzenjammer
14th May 2009, 20:41
gg

Mez
14th May 2009, 21:25
upload.php

do {
if (is_uploaded_file($_FILES['image']['tmp_name'])) {
// Controllo che il file non superi i 18 KB cambi pure i parametri
if ($_FILES['image']['size'] > 18432) {
$msg = "<p>Il file non deve superare i 18 KB!!</p>";
break;
}
// Ottengo le informazioni sull'immagine
list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
// Controllo che le dimensioni (in pixel) non superino 160x180 idem cambi
if (($width > 160) || ($height > 180)) {
$msg = "<p>Dimensioni non corrette!!</p>";
break;
}
// Controllo che il file sia in uno dei formati GIF, JPG o PNG
if (($type!=1) && ($type!=2) && ($type!=3)) {
$msg = "<p>Formato non corretto!!</p>";
break;
}
// Verifico che sul sul server non esista già un file con lo stesso nome
// In alternativa potrei dare io un nome che sia funzione della data e dell'ora
if (file_exists('upload_img/'.$_FILES['image']['name'])) {
$msg = "<p>File già esistente sul server. Rinominarlo e riprovare.</p>";
break;
}
// Sposto il file nella cartella da me desiderata
if (!move_uploaded_file($_FILES['image']['tmp_name'], 'upload_img/'.$_FILES['image']['name'])) {
$msg = "<p>Errore nel caricamento dell'immagine!!</p>";
break;
}
}
} while (false);
echo $msg;

form da mettere:


<form action="upload.php" method="post" enctype="multipart/form-data">
<!-- Campo file di nome "image" -->
<input name="image" type="file" size="40" />
<br /><br />
<!-- Pulsante -->
<input name="upload" type="submit" value="Carica immagine" />
</form>

e nel html ci piazza il javascript del lightbox

Mez
14th May 2009, 21:26
se vuoi pure le thumb piazza sto codice che le genera in auto:



<?php

// Ottengo le informazioni sull'immagine originale
list($width, $height, $type, $attr) = getimagesize($_SERVER['DOCUMENT_ROOT'].'/foto/mydog.jpg');

// Creo la versione 120*90 dell'immagine (thumbnail)
$thumb = imagecreatetruecolor(120, 90);
$source = imagecreatefromjpeg($_SERVER['DOCUMENT_ROOT'].'/foto/mydog.jpg');
imagecopyresized($thumb, $source, 0, 0, 0, 0, 120, 90, $width, $height);

// Salvo l'immagine ridimensionata
imagejpeg($thumb, $_SERVER['DOCUMENT_ROOT']."/foto/mydog_thumb.jpg", 75);

?>

Katzenjammer
14th May 2009, 21:51
ti adoro