Bon, io intanto ti scrivo due cosette.
Allora con questa pagina puoi mettere su un'immagine che ti viene sparata direttamente in un database (tieni presente che è tutto ridotto ai minimi termini):
Codice:
<?
//connessione al database
$conn = mysql_connect('>indirizzo dell'host del Db','username','password') or die("Errore nella connessione a MySql: " . mysql_error());
mysql_select_db('nome Db',$conn) or die("Errore nella selezione del db: " . mysql_error());
// Form per mettere l'immagine
echo '<form name="carica" target="_self" method="post" ENCTYPE="multipart/form-data"> <input type="hidden" name="spedito" value=1> Immagine: <input type="file" name="indirizzo"></input><br /><br /> <input type="button" value="Upload"></input> </form>";
// Codice php per sbattere l'immagine sullo spazio web e sul database
if (isset($_POST[spedito])) {
// Apro un flusso FTP
$stream=ftp_connect("indirizzo del tuo server FTP");
$ftplogin=ftp_login($stream, "username FTP", "password FTP");
if($ftplogin==1) {
//Se è tutto ok metto il file passato dalla form nella directory
$trasf=ftp_put($stream, "directory in cui vuoi mettere le immagini percorso completo/$indirizzo_name", "$indirizzo", FTP_BINARY);
$url="directory delle immagini percorso relativo/$indirizzo_name";
// Inserisco l'url dell'immagine in una tabella
$query="INSERT INTO immagini (url) VALUES ('$url')";
$ris = mysql_query($query,$conn) or die("Errore nella query2: " . mysql_error());
}
// Chiudo il flusso FTP
$quit = ftp_quit($stream);
}
?>
Con "percorso completo" la prima volta intendo tutto il percorso dalla base del tuo spazio web fino alla cartella (tipo: nomesito.com/nomesottosito1/immagini/) mentre "percorso relativo" è come se fosse un link (metti solo immagini/).
Tu penserai che usare un database sia una cosa inutile (e avresti ragione se fosse tutto qui), ma nella form si possono inserire molti campi (da un nome, a un alt, a delle categorie, a dei riferimenti ad altre immagini) che renderebbero motlo potente la gallery.
Vediamo ora la gallery come verrebbe:
Codice:
<?
// Mi riconnetto al database
$conn = mysql_connect('>indirizzo dell'host del Db','username','password') or die("Errore nella connessione a MySql: " . mysql_error());
mysql_select_db('nome Db',$conn) or die("Errore nella selezione del db: " . mysql_error());
// Mi prendo alla grezza tutte le immagini che ho nella tabella
$query="SELECT * FROM immagini";
$ris = mysql_query($query,$conn) or die("Errore nella query2: " . mysql_error());
// E ogugna di esse la stampo
while ($elemento=mysql_fetch_array($ris)) {
echo '<img src="'.$elemento[url].'" />';
}
?>
Ti stamperà una cosa del genere:
<img src="immagini/1.jpg" /><img src="immagini/2.jpg" /><img src="immagini/3.jpg" /><img src="immagini/4.jpg" />
Che poi potrai gestire come meglio credi.
Ho cercato di spiegare i pezzi di codice cosa fanno. Se ti servono altre funzioni chiedi pure, tanto sto facendo (tra le tantissime altre cose) una cosa simile per lo stage di laurea...
Edit: Perdonate la sformattazione