Ho fatto cosi'
Codice PHP:
index.php
<body>
<iframe name="nascosto" style="display:none"></iframe>
<form name="form1" method="post" action="upload.php" id="form1" target="nascosto" enctype="multipart/form-data">
<input type="hidden" size="1" name="MAX_FILE_SIZE" value="3000000000">
<input name="userfile" size="2" type="file">
<input type="submit" value="Aggiorna foto"></form>
<div id="content">
</div>
e upload.php cosi'
Codice PHP:
<?
include"config.php";
$dimensione_massima=2651200; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
$dimensione_massima_Kb=$dimensione_massima/1024;
$cartella_upload="immagini/"; //cartella in cui eseguire l'upload (controllare permessi scrittura)
// percorso cartella relativo $cartella_upload="../public/";
$filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
$array_estensioni_ammesse=array('.jpg','.jpeg'); //estensioni ammesse
if(!isset($_FILES['userfile']) || $_FILES['userfile']['size']==0){
echo "<script>alert(\"Nessun file selezionato per l'upload!\");
</script>";
}elseif($_FILES['userfile']['size']>$dimensione_massima){
echo "<script>alert(\"Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb\");
</script>";
}else{
$nome_file=$_FILES['userfile']['name'];
$errore="";
if($filtrare==1){
$estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
if(!in_array($estensione,$array_estensioni_ammesse)){
$errore.="<script>alert(\"Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."\");
";
}
}
if(!file_exists($cartella_upload)){
$errore.="<script>alert(\"La cartella di destinazione non esiste\");
</script></br>";
}
if($errore==""){
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $cartella_upload.$_FILES['userfile']['name'])){
chmod($cartella_upload.$_FILES['userfile']['name'],0777); //permessi per poterci sovrascrivere/scaricare
error_reporting(E_ALL);
$img = "immagini/$nome_file"; // percorso al file dell'immagine
$thumbs = "miniature/"; // directory di salvataggio delle miniature create
list($width, $height) = getimagesize($img);
// dimensioni della miniatura da creare
$thumbWidth = 120; // larghezza
$thumbHeight = 100; // altezza
$thumbscale = min($thumbWidth / $width, $thumbHeight / $height);
$new_width = floor($thumbscale * $width);
$new_height = floor($thumbscale * $height);
$tmp_img = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($img);
imagecopyresampled($tmp_img, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($tmp_img, $thumbs."$nome_file", 100);
ImageDestroy($tmp_img);
echo"<img src=\"immagini/$nome_file\">
";
}
}else{
echo $errore;
}
}
?><script>
parent.document.getElementById("content").innerHTML = "[img]immagini/<?echo"$nome_file";?>[/img]";
</script>
E diciamo funziona...al momento dell invio dopo che finisce di uppare l immagine mi viene mostrata a video sotto...la tua prima soluzione proposta mi funziona
Ora vorrei un pò arricchirlo...al momento del clik far comparire subito sotto il pulsante Sfoglia una gif che avverta di pazientare...e nel momento in cui il file viene caricato e mostrato a video fare in modo che quella gif scompaia... difficile da fare?
Ad ogni modo ti ringrazio questa tecnica dell iframe per l invio dei file non la conoscevo...mi sarà molto utile in futuro..al posto dell iframe e possibile anche utilizzare un div?