purtroppo la soluzione che mi hai consigliato non funziona e non riesco al momento a metterlo online, cerco di postare tutto il codice necessario così forse riesci a farti un'idea.
prima di tutto nella home ho questo button che al click apre un div sopra gli altri:
"homt.html"
codice HTML:
<div id="topBar" > <input type="button" value="photo" onclick="javascript:load_photo()"></div>
<div id ="content"> </div>
<script>
function load_photo(){
document.getElementById("content").innerHTML='<object type="text/html" data="../try_musicbox/try_div.html" style="display: inline-block; position: fixed; top: 0; bottom: 0; left: 0; right: 50%; width: 300px; height: 200px; margin: auto; border: 1px; background-color: #363232;" ></object>';
}
</script>
tramite l'object nel div compare il form per il caricamento dell'immagine dal pc:
"try_div.html"
codice HTML:
<body>
<div style="display: inline-block; position: fixed; top: 0; bottom: 0; left: 0; right: 50%; width: 300px; height: 200px; margin: auto; border: 1px; background-color: #363232;">
<form action="../uploadPhoto/upload_photo.php" method="post"enctype="multipart/form-data">
<label for="file"><p align="Center" >Filename:</p></label>
<input type="file" name="file" id="file"><br><br>
<input type="submit" name="submit" value="Submit">
</form>
</div>
</body>
infine al submit del form passo alla pagina php che elabora il tutto ed inserisce l'immagine nella cartella designata:
"upload_photo,php"
Codice PHP:
<?php
function logFile($t){
$data = date("d-m-y");
$ora = date("G:i:s");
$testo = $data." ".$ora;
$testo = $testo." ".$t."\n";
$var=fopen("../log/$_POST[nomelocale]-logger.txt","a");
fwrite($var,$testo);
fclose($var);
}
session_start();
//log-file -- Session_Start()
logFile("Photo.Session_Start --> [$_SESSION[nomelocale]]]");
$nomelocale = $_SESSION['nomelocale'];
$_SESSION['nomelocale'] = $nomelocale;
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
//log-file -- ifFileExtension
logFile("Photo.ifFileExtension --> [OK]");
if ($_FILES["file"]["error"] > 0)
{
//log-file -- ifFileExtensionNO
logFile("Photo.ifFileExtension --> [NO]");
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
//log-file -- ifFileExtensionOK
logFile("Photo.ifFileExtension --> [OK]");
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("../uploadPhoot/photo_local/" . $nomelocale))
{
//log-file -- FileExist
logFile("Photo.IfFileExist_unlinkphoto --> [OK]");
@unlink("../uploadPhoto/photo_local/" . $nomelocale);
}
//log-file -- MoveUploadedFile
logFile("Photo.MoveUploadedFile --> [OK]");
move_uploaded_file($_FILES["file"]["tmp_name"],
"../uploadPhoto/photo_local/" . $nomelocale);
//echo "Stored in: " . "photo/" . $_POST["name"];
echo "Stored in: " . "../uploadPhoto/photo_local/" . $nomelocale;
//log-file -- StoredIn
logFile("Photo.StoredIn --> [OK]");
}
}
else
{
//log-file -- error
logFile("Photo.UploadError --> [OK]");
echo "Invalid file";
}
?>
Tutto il procedimento sembra funzionare, manca soltanto la chiusura del div aperto all'inizio.