[영단어] directory entry 

           디스크에 있는 각 파일의 이름·크기·특징 등을 기재한 것

Reference url : http://dic.daum.net/search.do?q=entry



(PHP 4, PHP 5, PHP 7)

readdir — Read entry from directory handle


Description

string readdir ([ resource $dir_handle ] )

Returns the name of the next entry in the directory. The entries are returned in the order in which they are stored by the filesystem.


reference url : http://php.net/manual/en/function.readdir.php



<?php
/**
* Description.
*
* @author: JinMyung <dcan@doitforyou.co.kr>
* @category Filesystem
* @version 1.0
*/

/* files이 있는 directory의 모든 파일을 읽어 리스트업 */
echo "<pre>";
echo "<b>files이 있는 directory의 모든 파일을 읽어 리스트업</b>";
echo "<br>";

$dir = $_SERVER['DOCUMENT_ROOT']."/admin1/test/img/";

// 핸들 획득
$handle = opendir($dir);
$files = array();
// 디렉터리에 포함된 파일을 저장한다.
while (false !== ($filename = readdir($handle))) {
if ($filename =="." || $filename =="..") {
continue;
}

// 파일인 경우만 목록에 추가한다.
if (is_file($dir . "/" . $filename)) {
$files[] = $filename;
}
}
// 핸들 해제
closedir($handle);

sort($files);

// 파일명을 출력한다.
foreach ($files as $f) {
echo $f . "(" . round(filesize($dir . "/" . $f)/1024, 2) . " KB)" ;
echo "<br />";
}

echo "</pre>";
echo "reference url : http://blog.devez.net/292 | http://php.net/manual/en/function.readdir.php";

?>




'프로그래밍 > PHP' 카테고리의 다른 글

directory entry 읽어 파일리스트업  (0) 2018.04.20
파일 업로드(move_uploaded_file)  (0) 2018.04.14
fileupload 에러메시지 설명  (0) 2018.04.14
angularJS 사용하기  (0) 2018.04.01
json 데이타 사용하기  (0) 2018.03.28
Cookie 사용하기  (0) 2018.03.18

Oracle DB를 사용하다보면 항상 찾아보게되는 에러코드


Exception name Oracle Database
error number
SQLCODE Description
ACCESS_INTO_NULL ORA-06530 -6530 Program attempted to assign values to the attributes of an uninitialized object.
CASE_NOT_FOUND ORA-06592 -6592 None of the choices in the WHEN clauses of a CASE statement were selected and there is no ELSE clause.
COLLECTION_IS_NULL ORA-06531 -6531 Program attempted to apply collection methods other than EXISTS to an uninitialized nested table or varray, or program attempted to assign values to the elements of an uninitialized nested table or varray.
CURSOR_ALREADY_OPENED ORA-06511 -6511 Program attempted to open an already opened cursor.
DUP_VAL_ON_INDEX ORA-00001 -1 Program attempted to insert duplicate values in a column that is constrained by a unique index.
INVALID_CURSOR ORA-01001 -1001 There is an illegal cursor operation.
INVALID_NUMBER ORA-01722 -1722 Conversion of character string to number failed.
NO_DATA_FOUND ORA-01403 100 Single row SELECT returned no rows or your program referenced a deleted element in a nested table or an uninitialized element in an associative array (index-by table).
PROGRAM_ERROR ORA-06501 -6501 PL/SQL has an internal problem.
ROWTYPE_MISMATCH ORA-06504 -6504 Host cursor variable and PL/SQL cursor variable involved in an assignment statement have incompatible return types.
STORAGE_ERROR ORA-06500 -6500 PL/SQL ran out of memory or memory was corrupted.
SUBSCRIPT_BEYOND_COUNT ORA-06533 -6533 A program referenced a nested table or varray using an index number larger than the number of elements in the collection.
SUBSCRIPT_OUTSIDE_LIMIT ORA-06532 -6532 A program referenced a nested table or varray element using an index number that is outside the legal range (for example, -1).
SYS_INVALID_ROWID ORA-01410 -1410 The conversion of a character string into a universal rowid failed because the character string does not represent a ROWID value.
TOO_MANY_ROWS ORA-01422 -1422 Single row SELECT returned multiple rows.
VALUE_ERROR ORA-06502 -6502 An arithmetic, conversion, truncation, or size constraint error occurred.
ZERO_DIVIDE ORA-01476 -1476 A program attempted to divide a number by zero.

reference url : https://docs.oracle.com/cd/E11882_01/timesten.112/e21639/exceptions.htm#TTPLS192


'DataBase > Oracle' 카테고리의 다른 글

Oracle Error Code description  (0) 2018.04.20

Simon & Garfunkel – The Sound Of Silence


Hello, darkness, my old friend

I've come to talk with you again

Because a vision softly creeping

Left it's seeds while I was sleeping

And the vision that was planted in my brain

Still remains

Within the sound of silence

In restless dreams I walked alone

Narrow streets of cobblestone

'Neath the halo of a street lamp

I turned my collar to the cold and damp

When my eyes were stabbed by the flash of a neon light

That split the night

And touched the sound of silence

And in the naked light I saw

Ten thousand people, maybe more

People talking without speaking

People hearing without listening

People writing songs that voices never share

And no-one dared

Disturb the sound of silence

'Fools, ' said I, 'you do not know

Silence like a cancer grows

Hear my words that I might teach you

Take my arms that I might reach you, '

But my words like silent raindrops fell

And echoed

In the wells of silence

And the people bowed and prayed

To the neon god they made

And the sign flashed out it's warning

In the words that it was forming

And the sign said 'The words of the prophets are written on the subway walls

And tenement halls'

And whisper'd

In the sound of silence

Songwriters: PAUL SIMON


reference url : http://www.lyricsfreak.com/a/art+garfunkel/the+sound+of+silence_20271694.html

           https://www.youtube.com/watch?v=HZVkk_aQ0BI

'other Language > music' 카테고리의 다른 글

The Sound Of Silence  (0) 2018.04.20

Composer :  PHP 환경에서 사용하는 의존성 관리 도구

설치 => https://getcomposer.org/download/



C:\Users\Administrator>composer


Composer version 1.6.4 2018-04-13 12:04:24

Usage: command [options] [arguments]

Options:

  -h, --help                     Display this help message

  -q, --quiet                    Do not output any message

  -V, --version                  Display this application version

      --ansi                     Force ANSI output

      --no-ansi                  Disable ANSI output

  -n, --no-interaction           Do not ask any interactive question

      --profile                  Display timing and memory usage information

      --no-plugins               Whether to disable plugins.


c:\APMorg\Apache24\htdocs>composer global require squizlabs/php_codesniffer

Changed current directory to C:/Users/Administrator/AppData/Roaming/Composer

Using version ^3.2 for squizlabs/php_codesniffer

./composer.json has been created

Loading composer repositories with package information

Updating dependencies (including require-dev)

Package operations: 1 install, 0 updates, 0 removals

  - Installing squizlabs/php_codesniffer (3.2.3): Downloading (100%)

Writing lock file

Generating autoload files


c:\APMorg\Apache24\htdocs>



C:\APMorg\Apache24\htdocs>composer require --dev squizlabs/php_codesniffer

Using version ^3.2 for squizlabs/php_codesniffer

./composer.json has been created

Loading composer repositories with package information

Updating dependencies (including require-dev)

Package operations: 1 install, 0 updates, 0 removals

  - Installing squizlabs/php_codesniffer (3.2.3): Loading from cache

Writing lock file

Generating autoload files





vscode-phpcs(composer based)를 적용했더니 
내 코드가 마음에 안드나 보다
30개가 문제있다 나오네...
There must be...
invalid...

phpcs(composer based) 상세 내용은 사용해 보면서 이 글에 업데이트 하는걸로 하겠습니다.




phpcs에서 invalid라 warning하는 건

주석 / 문법오류 / 함수사용시 패턴 / 들여쓰기등을 가이드 해주면서 일괄적인 코딩패턴을 유지할 수 있게 해준다. warning없애려고 하다보니 코드가 깔끔해졌다. => 가독성 좋아짐

참고 ) 주석관련 : https://github.com/squizlabs/PHP_CodeSniffer/issues/258







'프로그래밍 > 확장' 카테고리의 다른 글

Composer 설치 : vscode-phpcs(composer based)  (0) 2018.04.15

[fileupload0.php]

html tag enctype="multipart/form-data" 

파일을 업로드 할때 파일속 데이타 모두 encode해서 넘겨야 원본파일을 넘길수 있다. 

그래서 enctype="multipart/form-data" 로 지정해서 넘김.

<form enctype="multipart/form-data" action="fileupload1.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="4000000" />
Send File: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>



[fileupload1.php]

php에서 file upload 시키는 함수는 move_uploaded_file


아래는 업로드시 에러발생했을 경우 에러 메시지를 case별로 적어봤다.

bool move_uploaded_file ( string $Filename , string $Destination )


실제 fileupload0에서 submit되면서 fileupload1으로 넘어올때.

$_FILES 에는 업로드 성공여부(temp폴더에 임시 업로드됨)가 모두 담겨 넘어온다.

그 후 temp폴더에서 "move_uploaded_file" 메소드를 이용 개발자가 정의한 폴더로 move시키는 것이다.


$_FILES info : Array

(

    [userfile] => Array

        (

            [name] => uploaded1.jpg

            [type] => image/jpeg

            [tmp_name] => C:\Windows\Temp\phpFD71.tmp

            [error] => 0

            [size] => 68985

        )

)


<?php

$uploaddir = $_SERVER['DOCUMENT_ROOT']."/admin1/test/img/";

print_r($uploadfile = $uploaddir.basename($_FILES['userfile']['name']));

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File was successfully uploaded.\n";
} else {
echo "FileUpload was failed.\n";
}

echo 'info:';
print_r($_FILES);
echo "<br />";

if(UPLOAD_ERR_OK !=$_FILES['userfile']['error'])
{

switch ($_FILES['userfile']['error']) {
case UPLOAD_ERR_INI_SIZE:
$message = "The uploaded file exceeds the upload_max_filesize directive in php.ini";
break;
case UPLOAD_ERR_FORM_SIZE:
$message = "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form";
break;
case UPLOAD_ERR_PARTIAL:
$message = "The uploaded file was only partially uploaded";
break;
case UPLOAD_ERR_NO_FILE:
$message = "No file was uploaded";
break;
case UPLOAD_ERR_NO_TMP_DIR:
$message = "Missing a temporary folder";
break;
case UPLOAD_ERR_CANT_WRITE:
$message = "Failed to write file to disk";
break;
case UPLOAD_ERR_EXTENSION:
$message = "File upload stopped by extension";
break;
default:
$message = "Unknown upload error";
break;
}

echo $message;

}
print "</pre>";
?>


자 이렇게 해서 fileupload0.php => fileupload1.php 순서로 실행되면 

아래의 로그를 받아볼 수 있다.

화일은 temp로 임시 저장된 후 다시 최초 지정한 경로로 옮겨간다. 

'프로그래밍 > PHP' 카테고리의 다른 글

directory entry 읽어 파일리스트업  (0) 2018.04.20
파일 업로드(move_uploaded_file)  (0) 2018.04.14
fileupload 에러메시지 설명  (0) 2018.04.14
angularJS 사용하기  (0) 2018.04.01
json 데이타 사용하기  (0) 2018.03.28
Cookie 사용하기  (0) 2018.03.18

화일 업로드 수행시 에러건에 대한 코드 설명


에러 코드는 PHP로 파일을 업로드 했을때 만들어지는 파일 배열의 error 세그먼트에서 확인할 수 있음.

예) $_FILES['userfile']['error']에서 확인할 수 있음.



UPLOAD_ERR_OK

값: 0; 오류 없이 파일 업로드가 성공했습니다.


UPLOAD_ERR_INI_SIZE

값: 1; 업로드한 파일이 php.ini upload_max_filesize 지시어보다 큽니다.



이 에러의 경우 php.ini의 아래 2곳 수정한다.


; Maximum allowed size for uploaded files.

; http://php.net/upload-max-filesize

upload_max_filesize = 40M


; Maximum size of POST data that PHP will accept.

; Its value may be 0 to disable the limit. It is ignored if POST data reading

; is disabled through enable_post_data_reading.

post_max_size = 40M



UPLOAD_ERR_FORM_SIZE

값: 2; 업로드한 파일이 HTML 폼에서 지정한 MAX_FILE_SIZE 지시어보다 큽니다.


html tag에서 max_file_size를 변경한다. 

Validation순서

first) html의 MAX_FILE_SIZE

second) php.ini 의 upload_max_filesize 

<form enctype="multipart/form-data" action="fileupload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="200000" />
Send File: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>



UPLOAD_ERR_PARTIAL

값: 3; 파일이 일부분만 전송되었습니다.


UPLOAD_ERR_NO_FILE

값: 4; 파일이 전송되지 않았습니다.


UPLOAD_ERR_NO_TMP_DIR

값: 6; 임시 폴더가 없습니다. PHP 4.3.10과 PHP 5.0.3에서 추가.


UPLOAD_ERR_CANT_WRITE

값: 7; 디스크에 파일 쓰기를 실패했습니다. PHP 5.1.0에서 추가.


UPLOAD_ERR_EXTENSION

값: 8; 확장에 의해 파일 업로드가 중지되었습니다. PHP 5.2.0에서 추가.


※출처 : http://php.net/manual/kr/features.file-upload.errors.php

'프로그래밍 > PHP' 카테고리의 다른 글

directory entry 읽어 파일리스트업  (0) 2018.04.20
파일 업로드(move_uploaded_file)  (0) 2018.04.14
fileupload 에러메시지 설명  (0) 2018.04.14
angularJS 사용하기  (0) 2018.04.01
json 데이타 사용하기  (0) 2018.03.28
Cookie 사용하기  (0) 2018.03.18

+ Recent posts