Galleria immagini | funzione include in php

  • Creatore Discussione Creatore Discussione gio4colo
  • Data di inizio Data di inizio

gio4colo

Nuovo Utente
12 Ott 2007
15
0
0
Ciao a tutti.
Ho creato un form sul mio sito web per il caricamento delle immagini

PHP:
<div id="main"><!-- Main content area -->
<h1 align="center">CARICA SUL SITO LE TUE IMMAGINI</h1>
<p align="center">

<form method=post action=upper.php enctype=multipart/form-data>
   <input name=upfile type=file size="50">
   <br />
   <br />
   <input type=submit id="Invia" value="Invia">
</form>
</p>
</div>


Dove upper.php è
PHP:
<?
include ("function_upload.php");

$img_up_name = "upfile";
$img_max_size = "4000000";
$img_name_dir = "foto";


funz_uploader($img_up_name, $img_max_size, $img_name_dir);

?>

E function_upload.php è
PHP:
<?
function funz_uploader($img_up_name, $img_max_size, $img_name_dir) {


$img_size = $_FILES[$img_up_name] ['size'];   // controlla la dimensione dell'immagine
$nome_img = $_FILES[$img_up_name] ['name'];   // controlla il nome dell'immagine

$img_split = explode(".",$nome_img);     // verifica il tipo di estensione del file, controllando
$estensione = array_pop($img_split);     // le ultime letere dopo l'ultimo punto

if (is_uploaded_file($_FILES[$img_up_name] ['tmp_name'])) {  // controlla se il file è stato caricato dal form

   if ($img_size <= $img_max_size) {

      // verifica se i file da caricare sono immagini
      if ($estensione == "jpg" OR $estensione == "gif" OR $estensione == "jpeg") {

         // sposta il file caricato
         @move_uploaded_file($_FILES[$img_up_name] ['tmp_name'], "$img_name_dir/$nome_img")
         or die ("Impossibile spostare il file.
               <A href=\"javascript:history.back()\">Torna indietro.</A>");

         echo "File caricato con successo.<br>
               <A href=\"javascript:history.back()\">Torna indietro.</A><br>";  // se il file è stao caricato

} else {

   echo "Questo file non puo' essere caricato sul server.<br>
         <A href=\"javascript:history.back()\">Torna indietro.</A><br>";      // se il file non è stato caricato

}
   } else {

      echo "Questo file è troppo grande per essere caricato.<br>
            <A href=\"javascript:history.back()\">Torna indietro.</A><br>";   // se il file è troppo grande
}
      } else {

         echo "Non riesco a caricare questo file sul server.<br>
               <A href=\"javascript:history.back()\">Torna indietro.</A><br>";     // se non riesce a caricare il file
}
}
?>

Ora mi serve uno script per creare uno slide show all'interno del mio sito, ma prima vorrei che l'utente che carica l'immagine, inserisse anche una breve descizione, con luogo della foto e suo nome che l'upload mi salva in txt (o qualunque altro formato) associandolo alla foto in modo che poi nella Galleria vedrà la foto con sotto una breve descrizione tipo nell'immagine allegata

senzatitolo1ni7.gif


Di conseguenza l'upload deve creare anche delle miniature che cliccandoci sopra apra l'immagine (possibilmente nella stessa pagine, ancora meglio se oscura il "sotto" e la foto viene in primo piano sopra l'intera pagina).
Ho provato molti upload, ma nessuno mi funzionava.
Anche per le slide, che script mi consigliate?



Ora un'altra domanda, non volevo aprire due post.
Le pagine del sito sono in parte in html e alcune parti in php.
Mi hanno consigliato (per non dover modificare ogni volta tutta la pagina) di creare un file index.php, dove inserisco il tag
PHP:
<? include ("nomepagine"); ?>
con le varie parti della pagina da inserire.
Ok, mi funziona.
Ma volevo chiedere, ogni volta che creo una nuova pagina, devo:

1_andare a modificare il nome di index.php (ad es foto.php per la galleria)
2_Andare a modificare
PHP:
<? include ("nomefile.estensione"); ?>
all'interno della pagina del PUNTO UNO (sopra) indirizzandola alla nuova parte centrale che tratterà le foto, che però a sua volta era divisa in MENU.HTML a sinistra e CENTRO.html... in pratica la mia pag in questo modo ha questa struttura

>index.php
__>> header.html
__>> corpo.php
_______>>>menu.html
_______>>>centro.html
__>>footer.html

E ogni volta che modifico centro.html (il contenuto della pagina) devo modificare i vari include superiori...
Cioè una palla....
Ma è giusto fare così??? Non c'è un modo un po' più veloce???

Fine, spero.
Giovanni
 
Ultima modifica:
1) Per la galleria dai uno sguardo a questo tutorial
2) Una soluzione potrebbe essere quella di indicare tutto il percorso ai file partendo dalla radice della web root, non è molt elegante ma almeno è un percorso che vale da qualsiasi posizione, ad es:

PHP:
@include ('home/var/www/html/index.php');
 
Non capisco cosa mi risolve mettere l'url.
Devo comunque creare per ogni pagina un file capostipite (index.php, foto.php, racconti.php) diverso che poi si collega alle parte "invariate" della pagine (come header.html, menu.html, footer.html) e poi al rispettivo contenuto (foto.html per foto.php, index.html per index.php....ecc)

Quello che chiedo è come (e se è possibile) avere un unico file per le varie parti della pagine - header.html, menu.html, footer.html - e poi il contenuto che varia...


es:

uno si collega a www.nome.com/invia.php (e lui carica header.html, menu.html, invia.html e footer.html)
uno si collega a www.nome.com/notizie.php (e lui carica header.html, menu.html, notizie.html e footer.html)


Si è capito?
In poche parole sto cercando un modo per non dovere ogni volta modificare tutta la pagina, ma creare solo il "nuovo contenuto" che lui sostituisce a mo' di tassello nella pagina.
 

Discussioni simili