2013-10-10 3 views
0

해당 이름과 확장명을 가진 서버에 파일이 이미있는 경우를 제외하고 파일의 현재 파일 이름을 사용하여 파일을 업로드하는 코드가 있습니다. 이름을 바꾸기 전에 코드를 임의의 임시 파일 이름으로 업로드하도록 코드를 수정하려면 어떻게해야합니까?임의의 임시 파일 이름을 사용하여 PHP로 파일 업로드

if(!empty($_FILES['file']['name'])) { 
copy($_FILES['file']['tmp_name'], WEB_UPLOAD."/pdf/".$_FILES['file']['name']) or die("Error uploading file."); 
$ext = strtolower(substr($_FILES['file']['name'], strrpos($_FILES['file']['name'], "."))); 
$filename = $url.$ext; 
rename(WEB_UPLOAD."/pdf/".$_FILES['file']['name'], WEB_UPLOAD."/pdf/".$filename);  
mysql_query ("UPDATE downloads SET file ='".$filename."' WHERE id = '".$insertid."'") or die (mysql_error()); 
} 

이 계속 도움을 주셔서 감사합니다 :

여기 내 코드입니다! 피트

답변

1
if(!empty($_FILES['file']['name'])) { 
    $targetFile = time().$_FILES['file']['name']; 
    copy($_FILES['file']['tmp_name'], WEB_UPLOAD."/pdf/".$targetFile) or die("Error uploading file."); 
    $ext = strtolower(substr($_FILES['file']['name'], strrpos($_FILES['file']['name'], "."))); 
    $filename = $url.$ext; 
    rename(WEB_UPLOAD."/pdf/".$targetFile , WEB_UPLOAD."/pdf/".$filename);  
    mysql_query ("UPDATE downloads SET file ='".$filename."' WHERE id = '".$insertid."'") or die (mysql_error()); 
} 

현재 타임 스탬프를 추가 할 것이다.

1
//get the extension 
$ext = strtolower(substr($_FILES['file']['name'], strrpos($_FILES['file']['name'], "."))); 
//generate random name 
$random_name = uniqid(); 
copy($_FILES['file']['tmp_name'], WEB_UPLOAD."/pdf/".$random_name . '.' . $ext) or die("Error uploading file."); 

이제 원하는대로 해보십시오. 저장된 파일 이름은 파일 이름이 고유 있도록 파일 이름으로 $random_name.'.'.$ext

관련 문제