Dark_Soul Mesaj tarihi: Eylül 3, 2009 Paylaş Mesaj tarihi: Eylül 3, 2009 Selam,projemin son ayagında takıldım 1 saatir ugrasiyorum yapamadım.Şimdi efenim hazır kodlarla (php,ajax,js) file upload sitesi hazırladım.Kodların php kısmını anladım fakat js tarafında büyük sorunlar var :).Index.php im burda.Form Onsubmit ile şu 2 fonksiyonu birlikte upload.php ye göndermek istiyorum ,olmassa fonksiyonları birleştirsekde olur,bi el atıverın gayri -)index.php de startProgress(uid),getprogress(uid) fonksiyonları, submite basınca Dosya upload edilirken progress bar çıkartıyor,işte % şu kadarı upload oldu bilgisi veriyor,sonra dosya xxx dosyası kaydedildi diyerekten işlem bitiyor. -)function zeigeProcess() bu da Upload sırasında userin seçtigi dosyanın ismi ekranda gösteriyor,mesela xxxxx.dosyası su an upload ediliyor bekleyin tarzı bişey çıkıyor. ---Fonksiyonlar ayrı ayrı gayet şukela çalışıyor yalnız 2sini aynı anda çalıştıramadım. Bu iki fonksiyonu birlikte çağırmak yada birleştirmak istiyorum. function startProgress(uid) { document.getElementById('upload').style.display = 'none'; document.getElementById('pb_outer').style.display = 'block'; document.getElementById('pb_outer').style.display = 'block'; setTimeout('getProgress("' + uid + '")', 5000); function zeigeProcess() { if (!ok) return false; document.getElementById("dateiwahl").style.display = "none"; document.getElementById("progbar").style.display = "block"; return true; } ahanda index.php: Beni mesud edene bi yemek ısmarlarım... <?php $uid = md5(uniqid(rand())); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>zapidshare</title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <meta name="author" content="Saso Nikolov" /> <meta name="keywords" content="Dosya Paylasimi, File Sharing, upload several files" /> <meta name="description" content="Kolay Dosya Paylaşımı, birden fazla dosya yükleme" /> <script type="text/javascript"> if (top != self) top.location = self.location; </script> </head> <style type="text/css"> #pb_outer { height: 10px; border: 1px inset #000000; width: 50%; margin: 20px auto; display: none; text-align: left; } #pb_inner { font-weight: bold; color: #FFFFFF; background-color: #003399; height: 10px; width: 1px; text-align: center; } </style> <body> <center> <img src="logo.jpg" width="508" height="53" alt="logo" /> <div id="inhaltbox" style="text-align:center;"> <script type="text/javascript"> <!-- var HttpRequestObject = false; var multi = false; if(window.XMLHttpRequest) { HttpRequestObject = new XMLHttpRequest(); } else if(window.ActiveXObject) { HttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); } function switchfiles() { alert("Lutfen dikkat.., Yuklenecek dosyalarin toplam boyutu 100 MB gecmemelidir."); var text = ""; for (var i=1;i<11;i++) { if (i < 10) text += '0'; text += i+'.'; text += '<input type="file" size="65" onchange="zeigeUploadBtn();"'; text += ' id="dateiname'; if (i > 1) text += i; text += '" name="filecontent'; if (i > 1) text += i; text += '" /><br />'; } document.getElementById('files').innerHTML = text; multi = true; } var ok = false; function zeigeUploadBtn() { var dn = document.getElementById("dateiname").value; dn = dn.replace(/^s+|s+$/g, ''); var Woerter = dn.split(""); var dateiname = Woerter[Woerter.length-1]; if (dn.length < 1) { ok = false; return false; } ok = true; document.getElementById("btnupload").style.visibility = "visible"; document.getElementById("btnupload").style.display = "block"; var elem = document.getElementById("dname"); elem.firstChild.nodeValue = dateiname; if (multi) { for (var i=2;i<11;i++) { dn = document.getElementById("dateiname"+i).value; dn = dn.replace(/^s+|s+$/g, ''); Woerter = dn.split(""); dateiname = Woerter[Woerter.length-1]; if (dn.length > 1) { elem.firstChild.nodeValue += ", "+dateiname; } } } } function zeigeProcess() { if (!ok) return false; document.getElementById("dateiwahl").style.display = "none"; document.getElementById("progbar").style.display = "block"; return true; } function startProgress(uid) { document.getElementById('upload').style.display = 'none'; document.getElementById('pb_outer').style.display = 'block'; document.getElementById('pb_outer').style.display = 'block'; setTimeout('getProgress("' + uid + '")', 5000); } function getProgress(uid) { if(HttpRequestObject) { HttpRequestObject.open('GET', 'getprogress.php?uid=' + uid, true); HttpRequestObject.onreadystatechange = function() { if(HttpRequestObject.readyState == 4 && HttpRequestObject.status == 200) { var progress = HttpRequestObject.responseText; document.getElementById('pb_inner').style.width = progress + '%'; document.getElementById('pb_inner').innerHTML = progress + '%'; if(progress < 100) { setTimeout('getProgress("' + uid + '")', 10); } else { document.getElementById('pb_inner').innerHTML = 'Upload Tamamlandı!'; } } } HttpRequestObject.send(null); } } //--> </script> <form onSubmit=" startProgress('<?php echo $uid; ?>') ;" action="upload.php" method="post" enctype="multipart/form-data" name="upload" id="upload" > <input type="hidden" name="APC_UPLOAD_PROGRESS" id="progress_key" value="<?php echo $uid; ?>" /> <div id="progbar" style="display:none;"> <div style="font-size:8pt;">You are uploading:</div> <p style="margin-top:0px;color:#8E908F;font-size:16pt;" id="dname">.</p> <iframe src="about:blank" name="pframe" width="100%" height="120" frameborder=0 marginwidth="0" marginheight="0" scrolling="no"></iframe> </div> <div id="dateiwahl"> <center> <table style="font-size:8pt;color:#002760;"><tr><td align=left> <div id="files"> <a href="javascript:switchfiles()" style="font-size:10pt;color:#002760;">Birden fazla dosya yuklemek istiyorsaniz lutfen tiklayiniz</a> | Maksimum dosya boyutu 200 Mb olmalidir <br /> <input type="file" size="65" id="dateiname" name="file" onchange="document.getElementById('infotextfeld').style.display='none';zeigeUploadBtn();" /> </div> </td></tr></table> <br /> <div id="infotextfeld" style="display:block;width:400px;text-align:left;"> <ol style="color:#002760;"> <li>Bu sayfayi goruntuleyebilmek icin JAvaScript'e ihtiyac vardir!</li> <li><a href="http://www.java.com/tr/download/manual.jsp" target="_blank" >JavaScript indirin</a></li> <li>Max Dosya Boyutu 200Mb</li> </ol> </div> <input type=image id="btnupload" name="u" src="upload.gif" style="display:none;" /> </center> </div> </form> <br /></br /> </div> </div> </center> <div id="pb_outer"> <div id="pb_inner"></div> <div id="progbar" style="display:none;"> <div style="font-size:8pt;">You are uploading:</div> <p style="margin-top:0px;color:#8E908F;font-size:16pt;" id="dname">.</p> <iframe src="about:blank" name="pframe" width="100%" height="120" frameborder=0 marginwidth="0" marginheight="0" scrolling="no"></iframe> </div> <p> </p> <div style="position:fixed;left:0px;bottom:0px;height:15px;width:50%;background-color:#8E908F;"></div> <div style="position:fixed;left:50%;bottom:0px;height:15px;width:50%;background-color:#002760;"></div> </body> </html> Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
wildpervert Mesaj tarihi: Eylül 3, 2009 Paylaş Mesaj tarihi: Eylül 3, 2009 function zeigeProcess() de returnlerin bi satır üstünde diğer functionı yaz o zaten settimeout la ayarlıo kendini, çözmüyo mu seni? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
riglous Mesaj tarihi: Eylül 3, 2009 Paylaş Mesaj tarihi: Eylül 3, 2009 function a(){ echo 'a' } function b(){ return 'b' } function ab(){ a() return b() } ya da function b(){ a() return 'b' } olmuyo mu bunlar? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Dark_Soul Mesaj tarihi: Eylül 3, 2009 Konuyu açan Paylaş Mesaj tarihi: Eylül 3, 2009 @wildpervert malesef çözemiyor, undifined "uid" hatası aliyorum. starttprogress fonksiyonu ile getprogress.php den random oluşturulan uid ile(index.php nin en üst satırında oluşturuluyor) gönderilen dosyanın bilgilerini aliyorum.Sonra progress bar şeklinde % şukadari gönderildi diye ekrana yazdiriyorum. form action lada upload.php ye gönderiyorum ordada gelen dosyayı şu klasöre gönder diyip ekrana "xxxx" dosyası gönderildi yazdırıyorum. Ayrıca benim istedigim progress bar ekrandayken altındada,xxx dosyası gönderiliyor,lütfen bekleyin tarzı bişey çıkarmaktı. function zeigeProcess() bunu yapıyor ama 2si birlikte hem progress bar hem de xxx dosyası gönderiliyor olayını birlikte yapmak istiyorum Cok kasış oldu galiba 2 funksiyondan birinden vazcaycam galiba :( Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
wildpervert Mesaj tarihi: Eylül 3, 2009 Paylaş Mesaj tarihi: Eylül 3, 2009 ya kodunu tam anlayıp dediğini tam çözemiyorum. ama aklıma gelen şeyler, ya birbirinin içinde yazmak functionları, yada aldığın hata xml objelerle ilgiliyse, ikinci bi object yaratıp ajaxları çakıştırmadan diğer functionı diğer objeyle çağırmak belki olabilir. çok yardımcı olamadım ama çalıştırıp debug edemediğim için biraz karışık gelio burdan. kusura kalma. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Dark_Soul Mesaj tarihi: Eylül 3, 2009 Konuyu açan Paylaş Mesaj tarihi: Eylül 3, 2009 zaten bu haliyle çalıştırsan bile progress bar çıkmayacaktır sende büyük ihtimal çünkü php için apc extension yükledim,upload edilen dosyanın ne kadarının gönderildiğini falam kontrol ediyor. Valla nasıl yapacagimi bilmiyorum,sanırım startprogress fonksiyonu true yada false döndürmedigi için,onSubmitle ikisini birden return (fonk1 && fonk2) şeklinde göndermeye çalıştıgım için hata veriyor Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Dark_Soul Mesaj tarihi: Eylül 4, 2009 Konuyu açan Paylaş Mesaj tarihi: Eylül 4, 2009 zeige fonksiyonunu şimdlik kaldırdım onun yerine apc extension ile dosya bilgilerini ekrana yazdırmayı düşünüyorum. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar