개발 꿀팁/PHP

PHP 파일

Jammie 2022. 7. 4. 13:09
반응형

PHP 오늘의 학습 - 페이지 만들기, 삭제, 보기
1. 페이지 만들기

```php
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>파일 만들기</title>
</head>
<body>
	<form method="post" action="">
		<input name="filename" type="text" placeholder="파일 이름을 입력하십시오" required>
		<button type="submit" name="submit">创建文件</button>
	</form>
</body>
</html>
<?php
if(isset($_POST['submit'])){
    $filename="./".$_POST['filename'];//사용자가 보낸 파일 이름 받기
    if(is_file($filename)){
        echo("같은 이름의 파일이 있습니다. 이름을 바꾸고 다시 만드십시오!5초 후 첫 페이지로 돌아가기.....");
        header("Refresh:5;url=test.php");
    }else{
        //방식 1:file_put_contents

        if(file_put_contents($filename,'')){//빈 폴더 만들기
        echo ("파일 만들기\t".$filename."\t성공! 5초 후 첫 페이지로 돌아갑니다....");
        header("Refresh:5;url=test.php");
    }
    // //방식 2:fopen
    // $fp=fopen($filename,"w+");//변수 저장 파일 리소스 설명
    // if($fp){
    //     echo ("파일 만들기\t".$filename."\t성공! 5초 후 첫 페이지로 돌아갑니다....");
    //     fclose($fp);
    //     header("Refresh:5;url=test.php");
    // }else{
    //     echo ("파일 만들기\t".$filename."\t성공! 5초 후 첫 페이지로 돌아갑니다....");
    //     fclose($fp);
    //     header("Refresh:5;url=test.php");
    // }
     }
}
2、페이지 삭제

```php
<?php
/**
 * 상황 1: URL 전송 파라미터 필요
 * 생각:
 * GET['del'] 데이터 유무를 판단하다
 * 예:접수하여 안전하게 취급
 *     파일 존재 여부 판단
 *       존재: 해당 PHP 시스템 함수를 사용하여 삭제 기능 구현
 *            삭제하기 전에 사용자에게 메시지: 삭제할지 여부를 확인합니다
 *               예:삭제
 *                    삭제 완료, 사용자 작업 성공 알림, 첫 페이지로 돌아가기
 *      존재하지 않음:
 *      없음:아무런 처리 안 함
 * 
 * //URL 매개 변수 전달 여부 판단
 */
if(isset($_GET['filename'])){
    $filename=$_GET['filename'];
    //파일 존재 여부 판단
    if(is_file($filename)){
        echo"당신은 파일을 삭제하시겠습니까?삭제 후 파일을 복원할 수 없음!<a href='./fixfile.php?del=yes&filename={$filename}'>네</a>\t<a href='./test.php'>아니</a>";
    }
}

3, 페이지 보기

```php
<?php
/**
 * 페이지 보기
 */
//수신 파일 매개 변수
if(isset($_GET['filename'])){
    $filename="./".$_GET['filename'];
    //파일 존재 여부 판단
    if(is_file($filename)){
        //파일 형식 결정: 파일 접미사를 통해 이름
        $pic =$_GET['filename'];
        $pics =explode('.',$pic);
        $num =count($pics);
        $pics=$pics[$num-1];//파일 확장자 가져오기

        //향상: 자주 사용하는 파일을 식별합니다
        if($pics=="txt"){
            echo file_get_contents($filename);
        }if($pics=="docx"){
            echo file_get_contents($filename);
            header('Content-type:txt/docx');
        }elseif($pics=="jpg"){
            header('Content-type:image/jpeg');
            echo file_get_contents($filename);
        }else{
            echo("현재 실행 불가능! 5초 후에 첫 페이지로 돌아갑니다...");
            header("Refresh:5;url=test.php");

        }
    }else{
        echo("파일이 존재하지 않습니다! 5초 후 첫 페이지로 돌아갑니다...");
        header("Refresh:5;url=test.php");
    }

}
?>

 

반응형