Senti, seriamente, se posso darti un consiglio sul modo di scrivere codice, taglia quello script in almeno 2 pagine, anche se te ne raccomanderei 3:

- view.php //si occupa solo di mostrare la tabella finale
- insert.php //si occupa solo di mostrare la form per l'inserimento
- script/actor.upload.php //A questo file punterà la form del file insert.php e qui caricherai le foto con il move_uploaded_file()


in actor.upload.php non stampi nulla, perché alla fine fai un header("Location ../view.php?uploaded=yes") se l'upload è a buon fine, oppure un header("Location ../insert.php") in caso di errore, dopo aver settato una variabile di sessione $_SESSION['error'] con l'errore avvento

in view.php ci metti il link "carica nuova foto", che punta a insert.php ed accetti un parametro GET uploaded che se settato ti mostra un messaggio "nuova foto caricata".

in insert.php formatta la form, magari senza Table, che le specifiche XHTML dicono di usarle solo per presentare dati e non per formattare il layout, e, in caso ci sia la variabile $_SESSION['error'] settata, mostri l'errore avvenuto in rosso.


Comunque, alla riga 230 circa, fai

$sql_foto="SELECT galleria.FOTO FROM galleria WHERE galleria.ID_CATEGORIA = " .$id_categoria;

$result_foto = mysql_query("$sql_foto")or die (mysql_error());

$righe_foto = mysql_num_rows($result_foto);



if ($sql_foto<150){

$foto="ok";

}else{

$foto="ko";

}

non sarà if($righe_foto < 150) ?

come $path ti conviene usare quello relativo '/httpdocs/public/foto_salento'

Non ho ancora capito che è $largeimage, comnque dovrebbe essere

if (move_uploaded_file( $LARGEFILE , "/httpdocs/public/foto_salento/" .$Filedest )){

Scusa ma il path completo (URL completo per vedere le immagini dal browser è
http://httpdocs/public/foto_salento/nome_immagine?

Perché se è così va bene quello che ho scritto, se per caso è http://public/foto_salento/nome_immagine
allora i path diventano /public/foto_salento soltanto.