'Language/PHP'에 해당되는 글 2건

  1. 2015.09.08 [php] basic internal function
  2. 2015.07.17 install XAMPP
2015. 9. 8. 02:53

server variable

$_SERVER['HTTPS’]

$_SERVER['HTTP_HOST’]

// 외에 엄청 많음.


POST / GET

array $_GET  // GET 방식에 의해 넘겨진 form tag data

array $_POST() // POST 방식에 의해 넘겨진 form tag data


internal function

bool empty(value) // value가 비어있는가?

bool isset(value) // value가 null인가?

bool is_array(array) // 배열인가?

bool count(array) // 배열 갯수

bool preg_match(pattern_string, comparing_value) // regular expression

bool in_array(value, array) // array안에 value라는 값이 포함되어있는지 체크

bool ctype_digit(value) // value 가 숫자인지 체크

string impload(separator, array) // 배열을 하나의 문자열로 만들어준다.

array explode($delimiter, $string, [$limit]) // 문자열을 배열로 변경시켜준다.

header(‘Location: file명’); // 페이지를 file명 페이지로 리다이렉션 시켜준다. 

htmlspecialchars() <— 받은 문자 그대로 보여준다. (XSS를 막는 방법 중 하나)
// 그 외에 많겠쬬?


echo, printf , sprintf, var_dump

echo “Hello World!”; // 문자열을 브라우저에 찍는다.

printf(’number=%d string=%s’, 5, ‘abcde’) // 브라우저에 메시지를 찍는다. ehco와 비슷

$value = sprintf(’number=%d string=%s’, 5, ‘abcde’) // 만들어진 문자열을 리턴해준다.

var_dump() // 디버깅을 위하여 변수값 찍어보기


Form Tag

form태그 중 <select> 태그가 multiple 속정이 있을 경우 name속성 끝에 []을 지정하여 배열 선택이 될 수 있다고 명시해주어야 한다.

예) <select name=“language[]” multiple />

html코드에서는 name속성에 []을 포함시켰지만 서버 코드에서는 값을 가져오려고 할 때에는 []을 제외한 name만 사용한다.

예) printf(‘%s’, impload(‘ ’,  $_POST(“language”))) 


File include

readfile(‘~~~.templ.html')

include ‘xxx.php'

include_once ‘xxx.php'

require ‘xxx.php'

require_once ‘xxx.php'


Encryption

$pwd = password_hash(original_password, PASSWORD_DEFAULT);

$ok = password_verify(original_password, $p);


php operator

연산자 $A === $B 는? $A와 $B가 같고, 같은 자료형이면 TRUE

연산자 $A !== $B 는? $A와 $B가 같지 않거나, 같은 자료형이 아니면 TURE


use session

session_start(); // 세션을 사용하기전에 먼저 명령어 실행되어야 한다.

$_SESSION[‘key’] = ‘value’;


php with MySql

$db = new mysqli(‘localhost’, ‘username’, ‘password’, ‘database name’) or die(“Unable to connect”);

$db = mysqli_connect(“localhost”, “username”, “password”, “database name");

$query = sprintf(“insert into table(col1) values (‘%s’)”, mysql_real_escape_string($db, ‘value1’)); // avoid sql injection

mysqli_query($db, $query);

$result - mysqli_query($db, “SELECT * FROM table”);

foreach ($result as $row) {

$value = $row[“col1”];

}

$row = mysqli_fetch_assoc($result);

if ($row) {$col1 = $row[“col1”]; }

mysql_close($db);


Posted by CoolDragon
2015. 7. 17. 05:55

1) 다운로드

  이 경로에서 설치하려는 OS 에 맞는 버전을 다운로드 받는다. https://www.apachefriends.org/download.html

  나는 우분투에 설치를 하고자 "xampp-linux-x64-5.6.8-0-installer.run" 버전을 선택하였다.


2) 권한부여

  다운로드 받은 파일을 해당 서버로 복사하고 파일을 실행하기 위한 권한을 부여한다.

$ wget https://www.apachefriends.org/xampp-files/5.6.8/xampp-linux-x64-5.6.8-0-installer.run

$ sudo chmod +x xampp-linux-x64-5.6.8-0-installer.run

  wget을 통하여 파일을 다운로드 받거나 파일을 다운로드 받고  scp 명령어과 같은 방법을 통하여 서버로 복사를 할 수 있다.

3) 설치

$ sudo ./xampp-linux-x64-5.6.8-0-installer.run

  설치과정에 물어보는 것이 많은데 모두  Y 를 누르면 설치가 완료될 것이다. 완료 후 /opt/ 하위 경로에 lampp 디렉토리가 추가되어있는 것을 확인할 수 있다.


4) XAMPP 실행/중지/재시작

$ sudo /opt/lampp/lampp start

$ sudo /opt/lampp/lampp stop

$ sudo /opt/lampp/lampp restart


5) 테스트

  로컬에서만 설치여부를 확인하고자 할 경우에는 특별히 문제가 없다. 다만 다른 PC에서 XAMPP를 열고자 할 경우에는 접근권한이 없다.

  이럴 경우 반드시 방화벽의 80 포트가 열려있는지 확인하고 "/opt/lampp/etc/extra/httpd-xampp.conf" 파일에서 아래처럼 수정해주어야 한다.

sudo vi /opt/lampp/etc/extra/httpd-xampp.conf

...

<LocationMatch ...>

# Require local

ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var

</LocationMatch>

이제 리모트에서도 브라우저로 페이지를 열수가 있다. (http://192.168.xxx.xxx/xampp)



참조) http://www.unixmen.com/how-to-install-xampp-stack-on-ubuntu-15-04/

Posted by CoolDragon