Galleria immagini...

Salve! volevo sapere come funziona esattamente la funzione "copy" ovvero come posso limitare le dimensioni delle immagini... se posso evitare che 2 file con lo stesso nome vengano sovrascritti etc

inoltre volevo sapere se è possibile fare in modo che attraverso uno script vengano letti tutti i file contenuti in una cartella e ne venga creata una preview (per le immagini) che ovviamente sia di piccole dimensioni.

inviato 11 anni fa
z3ro
z3ro
1
X 0 X

La funzione copy si limita a copiare un file presente sul server, niente di più.

La sintassi è: copy('file.txt','file_copia.txt');

Questa funzione non è legata in nessun modo alle immagini e pertanto non potrai intervenire sulle loro dimensioni.

Per evitare che un file venga sovrascritto puoi prima verificare l'esistenza con la funzione file_exists e nel caso esista usare un nome diverso o rinominare il file esistente (rename)

Per creare un elenco dei file presenti in una directory si può usare questo script:

<?php
if ($handle = opendir('/percorso/ai/file'))
{
   while (false !== ($file = readdir($handle)))
   {
      if ($file != "." && $file != "..")
      {
           echo "$file\n";
      } 
   }
   closedir($handle);
}
?>

Che però si limita a mostrare il nome del file. Creare un'anteprima invece è molto più complesso. In questi casi conviene creare l'anteprima al momento dell'inserimento dell'immagine sul server (usando PHP o un software ad hoc) e poi mostrare direttamente le anteprime, senza doverle creare di volta in volta.

Ad esempio prima di inviare le foto sul server crei per ciascuna di esse un'anteprima (ci sono programmi che le creano tutte in un colpo solo). Dai un nome particolare alle anteprime, tipo prw_nomefoto.jpg

Poi invii tutto sul server (originali e anteprime). Al momento della visualizzazione delle foto crei l'elenco delle sole anteprime con dei link alle foto originali.

 :bye:

P.S.: se hai in mente di metter su qualcosa di complesso ti conviene usare degli script PHP "collaudati" come Gallery

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

mmmh ma come copio un file dal pc al mio spazio web?

risposto 11 anni fa
z3ro
z3ro
1
X 0 X

se i files sono numerosi e se la loro dimensione non è esigua ti conviene fare tutto via FTP. Altrimenti puoi realizzare un form per eseguire l'upload dei files. Ma la cosa è noiosa e ha diversi problemi.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

siccome questo script mi servirà per fare uploadare file a gente che di pc ne sa meno di 0... non posso permettermi di dare loro l'accesso all'ftp perchè, altrimenti, rischierebbero di crearmi dei problemi a non finire... quindi... come risolvo? non è che c'è già qualche script prefatto da cui posso prendere parti di codice?

risposto 11 anni fa
z3ro
z3ro
1
X 0 X

puoi iniziare a dare un'occhiata allo script che ho realizzato per l'articolo sui files memorizzati in MySQL:

http://www.phpnews.it/content/view/213/80/1/2/

E' un semplice form che permette l'upload di un file. Manca solo la funzione per mettere il file inviato dall'utente in una cartella definitiva:

move_uploaded_file($_FILES['nome_campo_input_del_file']['tmp_name'], '/mia_cartella/dei_files/' . $_FILES['nome_campo_input_del_file']['name']);

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda