출력차이
print_r($_GET);
print_r($_POST);
Array
(
[userid] => admin
[userpw] => 1234
)
var_dump($_GET);
var_dump($_POST);
array(2) {
["userid"]=>
string(5) "admin"
["userpw"]=>
string(4) "1234"
}
FORM 태그
<form method="HTTP_전송_방법" action="서버_URL"> </form>
전송방법 : GET, POST
method 생략시 기본은 GET
action 생략시 기본은 현재페이지
target : 폼 데이터를 어디에 표시할지 지정
enctype : 어떻게 인코딩할지 지정
application/x-www-form-urlencoded 기본
multipart/form-dat 파일업로드
text/plain 단순텍스트
bup suite를 이용해서 Decoder디코더하기
animal=%EA%B0%95%EC%95%84%EC%A7%80
=> 인코딩된 데이터
Send to Decoder
그런데... 한글 인코딩이 깨짐
HTTP message display에서 폰트도 변경해주었고
Character sets에서 Use a specific character set UTF-8로 잡아주었는데도 깨진다...
왜인지는 모르겠다... ㅡㅡ
<?=count($_POST['computerLanguage']);?>
=> count를 이용해 숫자 표기
isset($_POST['osname1']
=> 변수가 있으면 true 리턴
/etc/php.ini 에서
703) post_max_size = 100M
846) file_uploads = On
855) upload_max_filesize = 100M
설정
파일을 업로드할 폴더에 se리눅스 보안설정함
chcon -t httpd_sys_content_rw_t data
php 설정을 변경했으므로 재시작
sudo systemctl restart httpd.service php-fpm.service
파일업로드시
print_r($_FILES);
출력: Array ( [upfile] => Array ( [name] => SysinternalsSuite.zip [full_path] => SysinternalsSuite.zip [type] => application/x-zip-compressed [tmp_name] => /tmp/phpoQodDg [error] => 0 [size] => 52895736 ) )
$_FILES['변수명']
name : 실제파일명
tmp_name : 임시 파일명
error : 0이면 에러가 없다는 뜻
size : 파일 사이즈
full_path : 경로
type : 데이터 타입
php 공식사이트
https://www.php.net/
https://www.php.net/manual/en/index.php커뮤니티
https://phpschool.com/
/etc/php.ini
display_errors = Off
=> 개발시에만 On으로 설정
실행방법
1. 웹브라우저를 이용 또는 lynx 이용
: !curl http://192.168.100.10/var1.php
vim 입력칸에서 간이실행가능
결과값 출력
엔터누르면 vim으로 돌아온다
2. /usr/bin/php 실행파일로 실행
$ php get.php
Array
(
)
<br>array(0) {
}
3. chmod로 실행권한 부여후 실행
$ ./get.php
./get.php: line 1: ?php: No such file or directory
./get.php: line 2: syntax error near unexpected token `$_GET'
./get.php: line 2: `print_r($_GET);'
(데이터가 없어서 에러남 실행은 됨)