Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 종만북
- 정수론
- 따라하면서 배우는 C언어
- Math
- udemy
- web
- BASIC
- 따라하며 배우는 C언어
- graph
- Algospot
- sorting
- programmers
- String
- BFS
- JavaScript
- server
- 백준
- greedy
- C
- php
- Python
- BOJ
- 생활코딩
- Cleancode
- C언어
- DP
- 인프런
- dfs
- 따배씨
- Algorithm
Archives
- Today
- Total
몽상실현개발주의
[생활코딩] 11.1 php 파일 제어 ~ 11.4 디렉토리 제어하기 본문
생활코딩 php 강좌
11. 파일
11.1 php 파일 제어
<?php
$file = 'readme.txt';
$newfile = 'example.txt.bak';
if (!copy($file, $newfile)){
echo 'failed to copy $file...\n';
}
?>
- readme.txt 파일의 내용이 복사되어 example.txt.bak 으로 새로운 파일이 생성
<?php
unlink('deleteme.txt');
?>
- unlink('file') : 파일 삭제 함수
11.2 파일 읽고 쓰기
<?php
$file = './readme.txt';
echo file_get_contents($file);
?>
// ./readme.txt 의 내용을 출력
- file_get_contents('파일')
- 텍스트로 이루어진 파일을 읽어서 문자열을 리턴
- php 레퍼런스
- fread
<?php
$homepage = file_get_contents("https://www.~~");
echo homepage
?>
// 받아온 해당 페이지 내용을 출력
<?php
$file = './writeme.txt';
file_put_contents($file, 'coding everybody');
?>
- file_put_contents(파일, 내용)
- 입력된 내용을 해당하는 파일에 작성 하는 함수
- fopen(파일, mode)
- 파일을 여는 함수
- 파일을 열고 난 뒤의 행위도 mode 설정으로 가능
- 읽기
- 쓰기
- 덮어쓰기
- 등...
- fwrite, fread, fclose 등의 파일을 제어하기 위한 함수들이 존재
11.3 파일을 다루는 과정에서 발생 가능한 문제들
- 권한문제
- Permission Denied
- 파일이나 폴더의 권한이나 소유권을 변경 해 주어야함
- 권한 변경 : sudo chmod 권한 파일/폴더
- 소유권 변경 : sudo chown 소유자 파일/폴더
- php 서버 접근시 소유권 변경
- Linux : sudo chown www-data .
- Mac : sudo chown _www .
<?php
$filename = 'readme.txt';
if (is_readable($filename)){
echo 'The file is readable';
} else {
echo 'The file is not readble';
}
?>
- File 의 read 가능 여부 확인
<?php
$filename = 'readme.txt';
if (is_writeable($filename)){
echo 'The file is writeable';
} else {
echo 'The file is not writeable';
}
?>
- File 의 write 가능 여부 확인
<?php
$filename = 'readme.txt';
if (file_exists($filename)){
echo "The file {$filename} exists";
} else {
echo "The file {$filename} not exists";
}
?>
- File 의 존재 여부 확인
11.4 디렉토리 제어하기
- php Application 이 동작되는 경로는 php file 이 존재하는 디렉토리 기준이다.
<?
echo getcwd().'<br/>';
chdir('../');
echo getcwd().'<br/>';
?>
// ~/studyPhp/directory
// ~/studyPhp
- getcwd() : 현재 php application file 이 존재하는 directory 를 출력
- chdir() : directory 를 이동
<?php
$dir = './';
$files0 = scandir($dir);
$files1 = scandir($dir, 1);
$files2 = scandir($dir, 2);
print_r($files0);
echo "<br/>";
print_r($files1);
echo "<br/>";
print_r($files2);
echo "<br/>";
?>
// Array ( [0] => . [1] => .. [2] => 1.php [3] => 2.php )
// Array ( [0] => 2.php [1] => 1.php [2] => .. [3] => . )
// Array ( [0] => . [1] => .. [2] => 2.php [3] => 1.php )
- scandir(폴더위치, 옵션) : directory 에 대한 file list 를 호출
- 옵션( 0, 1, 2 ) 에 따라 정렬 순서가 바뀜
<?php
mkdir("1/2/3/4/", 777, true);
?>
- mkdir(디렉토리명, 권한, 옵션) : 디렉토리를 만드는 함수
- 옵션이 true 일 경우 디렉토리를 만든느 경로가 존재하지 않을 때, 경로에 해당하는 디렉토리를 새로 생성
이 글의 모든 사진과 내용의 출처는 생활코딩에 있음을 알려드립니다.
'Language > php' 카테고리의 다른 글
[생활코딩] 12. 이미지 다루기 (0) | 2021.05.18 |
---|---|
[생활코딩] 11.5 파일 업로드를 위한 form ~ 11.7 파일 업로드 - 수신 Application (0) | 2021.05.13 |
[생활코딩] 10.1 include 와 require ~ 10.2 namespace (0) | 2021.05.12 |
[생활코딩] 9.1 배열의 문법 ~ 9.4 연관 배열 (0) | 2021.05.11 |
[생활코딩] 8.1 php 함수의 기본 문법 ~ 8.3 함수 인자의 기본값 (0) | 2021.05.11 |
Comments