Witam
Mam tutaj fajny kod do pobierania plikow z wykorzystaniem iframe. Wszystko bylo by fajnie gdyby nie fakt ze nie mam zadnej informacji o pobranym pliku, po to aby moc ja gdzies zapisac, na glownej stronie. Wiecie moze w jaki sposob jakos 'wyciagnac' tą informacje (nazwe pliku)?
<?php
@$ftmp = $_FILES['file']['tmp_name'];
@$oname = $_FILES['file']['name'];
@$fname = $_FILES['file']['name'];
@$fsize = $_FILES['file']['size'];
@$ftype = $_FILES['file']['type'];
define("_ALREADYEXIST", "<div id=\"error_div\"><b>Plik istnieje juz w naszej bazie!</b></div>"); define("_FILETOOBIG", "<div id=\"error_div\"><b>Plik jest za duży. Powinien ważyć do"); define("_FILETOOBIG2", "KB.</b></div>"); define("_WRONGFORMAT", "<div id=\"error_div\"><b>Niepoprawny format pliku!</b></div>"); define("_IMAGEADDED", "<b>Plik został dodany!</b>");
#Dopuszczalne formaty plików
$limitedext = array(".gif",".jpg",".png",".jpeg"); #Maksymalny rozmiar dodawanego pliku
$sizebytes = "307200";
$kilobytes = $sizebytes/1024;
#URL folderu do którego pliki są pobierane
$dl = "http://localhost/.../";
#Absolutny folder do którego pliki są pobierane (z '/')
$absolute_path = "/.../photos";
if ($file != "") {
$error = _ALREADYEXIST;
} else {
if ($fsize > $sizebytes) {
$error = ""._FILETOOBIG." $kilobytes"._FILETOOBIG2."";
} else {
$error = _WRONGFORMAT;
} else {
@copy($file, "$absolute_path/$fname"); $error = ""._IMAGEADDED."<br /><img width=\"80\" border=0 src=$dl/$fname>";
}
}
}
}
?>
<html><head><script>
var par = window.parent.document;
var list = par.getElementById('list');
var fileid = par.createElement('div');
var inpid = par.createElement('input');
var imgdiv = list.getElementsByTagName('div')[<?=(int)$_POST['imgnum']?>];
var image = imgdiv.getElementsByTagName('img')[0];
imgdiv.removeChild(image);
list.removeChild(imgdiv);
fileid.setAttribute('id', 'upfile<?=$file_id?>');
fileid.innerHTML = '<?="$error"?>';
inpid.type = 'hidden';
inpid.name = 'filename[]';
inpid.value = '<?=$file_id?>';
list.appendChild(fileid);
fileid.appendChild(inpid);
</script></head>
</html>
<?php
}
?>
<html><head>
<script language="javascript">
function upload(){
// hide old iframe
var par = window.parent.document;
var num = par.getElementsByTagName('iframe').length - 1;
var iframe = par.getElementsByTagName('iframe')[num];
iframe.className = 'hidden';
// create new iframe
var new_iframe = par.createElement('iframe');
new_iframe.src = 'modules/Firm_folder/upload.php';
new_iframe.frameBorder = '0';
par.getElementById('iframe').appendChild(new_iframe);
// add image progress
var list = par.getElementById('list');
var new_div = par.createElement('div');
var new_img = par.createElement('img');
new_img.src = 'indicator.gif';
new_img.className = 'load';
new_div.appendChild(new_img);
list.appendChild(new_div);
// send
var imgnum = list.getElementsByTagName('div').length - 1;
document.iform.imgnum.value = imgnum;
document.iform.submit();
}
</script>
<style>
body {vertical-align:top;}
</style>
<head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<form name="iform" action="" method="post" enctype="multipart/form-data">
<input id="file" type="file" name="file" onchange="upload()" />
<input type="hidden" name="imgnum" />
</form>
</html>
Kod na glownej stronie:
<iframe src='upload.php' frameborder='' scrolling='0'></iframe> <div align='left' id='list'></div>