찾다

 >  Q&A  >  본문

파일이 이미 존재하는 경우 양식 크기 조정 오류를 발생시켜 파일을 편집하거나 덮어쓰지 못하게 하려면 어떻게 해야 합니까?

파일이 이미 존재하는 경우 파일을 편집하거나 덮어쓰는 것을 방지하기 위해 양식 크기 조정 오류를 발생시키는 방법은 무엇입니까?

파일이 이미 존재하는 경우 파일이 편집되거나 덮어쓰여지는 것을 방지하기 위해 오류를 재조정하기 위해 이 코드를 어떻게 편집해야 할지 잘 모르겠습니다.

<?php  if( $_POST["potus"] || $_POST["data"] ){        
$name = $_POST['potus'];        
$data = $_POST['data'];         
static $ext = ".php";       

if(file_exists($name)){ //rename exist file with random string          

$n = rand();            

$filename = $name.$n.$ext;      

}

else

{           
$filename = $name.$ext ; // Creates file if it doesn't exist        

}       

file_put_contents($filename , $data); 

}

else

{ 
echo "successfully posted";     
    

   
    
exit();     
} 
?>

P粉949848849P粉949848849441일 전632

모든 응답(1)나는 대답할 것이다

  • P粉895187266

    P粉8951872662023-09-14 15:59:48

    1. 현재 $name이 이미 존재하는 경우 코드는 이름이 변경된 대상 파일 이름을 사용하여 데이터를 저장합니다. 이 부분을 변경하면 오류가 표시되고 실행이 종료됩니다.

    2. 반면에 코드가 else 블록에 "성공적으로 게시되었습니다"라고 표시되는 이유는 무엇입니까? 사용자에게 필수 데이터가 모두 입력되지 않았음을 알리고 다시 제출하도록 요청해야 합니다.

    3. BTW, 사용자가 무언가를 입력한 다음 xxxx.php로 저장하도록 허용하면

      심각한 보안 위협이 될 수 있습니다! ! ! 하고 싶은지(하지 않는지) 다시 생각해 보세요

    위의 (1)과 (2)의 경우 코드를 다음과 같이 수정하세요.

    으아악

    회신하다
    0
  • 취소회신하다