bir image upload sistemi yapıyorum. sadece belli image formatlarına izin veriyor upload ederken (jpg, gif vs.) bunun dışındaki dosyaların yüklenmesine izin vermiyor. bu aşamaya kadar sorun yok ancak mesela farlkı uzantlı bir dosya yüklemek istediğiniz zaman ekrana hata mesajı geliyor ve kullanıcı gonder e tıklasa dahi dosyayı yuklemiyor. burada da sorun yok ancak hata mesajı geldikten sonra hatalı olan dosya yolu c:\dosya\yol\dosyaadi.exe şeklinde dosya gonderme alanında kalıyor, dediğim gibi kullanıcı gonder dese de sunucuya yuklemiyor ancak hatalı dosya yuklenirken hata mesajından sonra dosya yolunun dosya alanından silinmesi veya sayfanın yenilenmesi için ne yapabilirim.
ilgili oldugunu düşündüğüm kodlar;
<script type="text/javascript">
function highlight(field) {
field.focus();
field.select();
}
var maxWidth=100;
var maxHeight=100;
var fileTypes=["jpg","jpeg","bmp","gif","png","swf","flw"];
var outImage="previewField";
var defaultPic="spacer.gif";
/***** DO NOT EDIT BELOW *****/
function preview(what){
var source=what.value;
var ext=source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();
for (var i=0; i<fileTypes.length; i++) if (fileTypes[i]==ext) break;
globalPic=new Image();
if (i<fileTypes.length) globalPic.src=source;
else {
globalPic.src=defaultPic;
alert("Yabancı Bir Cisim Yaklaşıyor!\n\n\izin verilen dosyalar:\n\n"+fileTypes.join(", "));
}
setTimeout("applyChanges()",200);
}
var globalPic;
function applyChanges(){
var field=document.getElementById(outImage);
var x=parseInt(globalPic.width);
var y=parseInt(globalPic.height);
if (x>maxWidth) {
y*=maxWidth/x;
x=maxWidth;
}
if (y>maxHeight) {
x*=maxHeight/y;
y=maxHeight;
}
field.style.display=(x<1 || y<1)?"none":"";
field.src=globalPic.src;
field.width=x;
field.height=y;
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
} }
</script>ve
<?php
}
if ($resimismi == ""){
uyari('Dosya Seçiniz Lütfen!');
}
if ((!$resimismi == "")&&($uzanti_izinlimi == 'hayir')){
uyari('Yabancı Bir Cisim Yaklaşıyor!');
}
}
}
if(!$_POST){
uyari('');
}
?>saygılar selamlar