본문 바로가기

Programming/php

[php] 오랜만에 php 관련함수들! 배열 & 파일업로드 관련~



<!-- 어제 한 포스팅과 연결되는 내용 -->


네이버 에디터상에 이미지를 업로드 할 때, 이미지 파일명이 중복되지 않도록 파일명을 임의로 변경하는 파일을 보면

php 함수들이 몇 개 나오는데 얘네들을 모르면 코딩을 이해하기가 어렵다.=_+


자주 사용될만한 함수들 몇 개를 설명하자면,


1. array_pop()

-> 배열의 마지막값을 뽑아 내고 그 값을 반환, array의 길이를 원소 하나 만큼 줄인다. 

-> 배열이 비어있으면 (또는 배열이 아니면) NULL을 반환한다.

** 이 함수는 사용 후에 array 포인터를 reset() 한다.


예제_

$arr = array ("111", "222", "333", "444");

$num = array_pop ($arr);

print_r($arr);

echo "<br/>".$num;


위의 예제를 실행하면 출력값은,


Array( [0] => 111 [1] => 222 [2] => 333)

444


array_pop 으로 인해 배열의 마지막값인 444가 num변수에 지정되고

위에 설명한 바와 같이 array_pop되면서 444는 reset 된다.



2. in_array()

->배열들의 요소중에 원하는 값이 있는지를 검사한다.


예제_

$arr = array("1", "3", "5", "7", "9");  

$check = "5";  

if(in_array($chk, $arr)) {

echo "$check가 존재합니다."; 

}else{

echo "$check가 존재하지 않습니다.";

}


예제를 실행하면,


5가 존재합니다.


3. move_uploaded_file( string $filename , string $destination )

->서버로 전송된 파일을 저장할 때 사용하는 함수


예제_

<?

$file_name = $_FILES['upload_file']['name'];

$tmp_file = $_FILES['upload_file']['tmp_name'];


$file_path = './files/'.$file_name;


$r = move_uploaded_file($tmp_file, $file_path);

?> 


form 태그를 통해서 전송된 파일을 $_FILES 를 통해 접근한다.

서버가 업로드받은 파일은 $_FILES['upload_file']['tmp_name']에 존재한다.

저장될 위치를 $file_path로 설정하고,

move_uploaded_file()함수를 예제처럼 실행하면 지정 위치에 업로드한 파일이 저장된다.