Ne gerçekten yapmak istiyorum aynı dosya bunu yapmak için verimli bir yol var, önce veya dosyayı yükledikten sonra varsa kontrol edilir?
Evet, işte bu!
Düzenleme: Aslında sürece dups algılayabilir gibi, onun ardından ise ya da daha önce fark etmez.
 
				EDIT: Üzgünüm Neler yapabileceğini yükleme düğmesi etkin önce sunucuyu sorgulamak için AJAX kullanmaktır ... ÖNCE dedi fark etmedi.
Senaryo:
function CreateRequest()
{
var xmlhttp = false;
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	try {
		xmlhttp = new XMLHttpRequest();
	} catch (e) {
		xmlhttp=false;
	}
}
if (!xmlhttp && window.createRequest) {
	try {
		xmlhttp = window.createRequest();
	} catch (e) {
		xmlhttp=false;
	}
}
if(!xmlhttp)
{
	alert("Could not create XmlHttpRequest. Browser does not support.");
}
return xmlhttp;
}
function validate()
{
    xmlhttp = CreateRequest();
    xmlhttp.open( "GET", "checkfile.php?file=" + document.getElementById('upload').value );
    xmlhttp.send( false );
    if( xmlhttp.responseText == "YES" )
        alert( "File already exists" );
    else
        document.getElementById('go').disabled = false;
}
HTML:
<input id="upload" type="file" name="upload" onchange="validate()"/>
<input name="Reset" type="submit" disabled=disabled id="go" value="Go"/>
PHP:
$file = basename( $_GET['file'] );
if( file_exists( "uploads/$file" ) )
    echo "YES";
else
    echo "NO";
 
				 
				Sadece birkaç seçenek var:
Eğer tercih birini seçin!
 
				Diğerleri önce mümkün değil, işaret gibi yüklemeden önce kontrol vardır. Dosya yüklendikten sonra Ama, dosyaların MD5 hash karşılaştırmak gerekir.
Bunun yerine tekrar tekrar bir dosyanın MD5 hash hesaplama, size sonuçlarını önbelleğe ettiği bir veritabanında tutarak düşünebiliriz. Yani daha fazla ölçülebilir olmalıdır.