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']; #Dopuszczalne formaty plików #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 { $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: