2021/03 10

[PHP] 대용량 파일 업로드 할 시 체크사항

파일을 업로드할때 당연한것임에도 불구하고 항상 잘 빼먹는것이 있다 enctype="multipart/form-data" 꼭 체크체크 ... 받는쪽에서는 아래와 같이 조정해주면되는데 맨 첫줄은 굳이 안써줘도된다. ini_set('memory_limit','-1'); //파일 용량이 커서 메모리가 많이 필요할때 $fileName = $_FILES['fileName']['name']; $error = $_FILES['fileName']['error']; if( $error != UPLOAD_ERR_OK ) { switch( $error ) { case UPLOAD_ERR_INI_SIZE: case UPLOAD_ERR_FORM_SIZE: echo "파일이 너무 큽니다. ($error)"; break; case ..

IT/PHP 2021.03.31

[PHP] 암호화 openssl aes-256-cbc

c++ 단에서 openssl 를 이용하여 파일을 암호화한것을 php 단에서 복호화 해주는 작업을 맡았다 그냥 단순하게 암호화를 할때 key값만 있으면 되는줄 알았는데 아니었다. AES-256-CBC 방식은 iv(Initialization vector) 라고 값이 별도로 또 첨부가 되는데 그냥 쉽게 제 2의 키 라고 이해하면 좋 을것 같다. (마치 salt 방식같은 그런 느낌 ..) 참고로 iv 는 16자리여야 한다 ~ 복호화를 하는데 자꾸 안되서 왜그런가했더니 멍청하게 base64_decode 가 떡하니 써있는데 저거 하나 캐치못하고 삽질 겁나했다 어우 .. 정신좀 차리자 쪽팔리게 .. //암호화된 파일 가져오기 $encrypted_code = file_get_contents("./enc/".$fileN..

IT/PHP 2021.03.29

[IE] 익스플로러에서 wav 파일 재생

일단 익스플로러에서는 wav 확장자는 audio 태그로 재생이 불가능하다 일반적으로 우리가 생각하는 audio 태그를 이용해서 플레이어로 재생할수있는게 아니라 BGM 마냥 백그라운드로 재생되게끔 할수있다. 근데 별 의미는 없는거같다 .. 그냥 mp3 변환시켜서 audio 태그로 실행시키는게 답일듯하다 익스플로러에서만 사용할수있는 bgsound 라는 태그가 있는데 그걸 생성시켜서 거기에 src 경로 설정해서 틀어주는 방식인데 플레이어 폼이 없다보니 일시정지도 안되고, 듣고싶은부분으로 딱 찝어서 넘기기도 불가능 //src = wav 파일명 playWavFileInIE("test.wav"); function playWavFileInIE(src){ if(/msie/i.test(navigator.userAgent..

IT/잡다구리 2021.03.25

[PHP] 특정폴더 하위 모든 파일 이름 변경 rename

경로를 잘맞춰줘야합니다. $old = "../"."변경전 파일명"; $new = "../"."변경후 파일명"; $result = rename($old, $new); if($result){ echo "OK"; }else{ echo "NO"; } 웹 서버 디렉토리 하위에 위치한 wav 파일들이 있는데 샘플로 테스트할게 많이 필요한데 파일명이 다달라야해서 일괄로 파일들을 긁어와서 파일명을 해당 폴더명을껴서 작업을 할때 필요했었습니다. 하위 폴더 모두 접근해서 wav 확장자인것만 모두 긁어와서 일괄 해당 폴더명으로 rename 하게끔 조정했네요. 아래와 같은 구조였습니다. D드라이브 - Record(웹 서버 root) -20200324 녹음파일1_20200324.wav 녹음파일2_20200324.wav 녹음파일..

IT/PHP 2021.03.25

[Electron] 일렉트론 exe 실행 파일 빌드 npm run build:win64

실행파일 빌드 윈도우 64비트 기준입니다 빌드하고싶은 폴더 터미널에서 아래 npm 설치 npm install -g electron-builder package.json내용추가 - scripts 에 build 부분 추가 - build 부분에 win icon 추가 (실행파일 이미지 경로) { "name": "프로젝트이름", "version": "1.0.0", "description": "A minimal Electron application", "main": "main.js", "scripts": { "start": "electron .", "build:osx": "electron-builder --mac", "build:linux": "npm run build:linux32 && npm run build:..

IT/Electron 2021.03.24

[Electron] 일렉트론 프로그램 닫기 클릭시 트레이로 숨기기 main.js

const { app, BrowserWindow, Menu, Tray, nativeImage } = require('electron'); const path = require('path') //소스 수정시 자동 새로고침 //require('electron-reload')(__dirname, { electron : require(`${__dirname}/node_modules/electron`) }) function createWindow () { const mainWindow = new BrowserWindow({ width: 500, height: 500, resizable: false, webPreferences: { preload: path.join(__dirname, 'preload.js') } ..

IT/Electron 2021.03.24

[Electron] 일렉트론 프로젝트 생성 및 실행 npm start

프로젝트를 생성하고자 하는곳에서 git bash 창을 열어서 아래와 같이 명령어 입력 뒤에 "210324" 는 저 이름대로 해당 프로젝트 다운받아라 라는 뜻입니다. 아무거나 하셔도되고 안쓰셔도되요. 아무것도 안쓰시면 electron-quick-start 라는 폴더가 생성됩니다. git clone https://github.com/electron/electron-quick-start 210324 아래와 같이 정상적으로 프로젝트가 생성된것을 볼수있습니다. 이제 마우스 우클릭을 눌러서 해당 프로젝트 경로로 vscode 를 열어서 확인을 해봅니다 ~ 해당 부분은 vscode 를 설치할때 저 옵션을 체크하는 부분이 있는데 혹시 체크를 까먹고 안하셨다면 없을겁니다. 그렇다고 다시 재설치 할필요는 없고, 레지스트리 ..

IT/Electron 2021.03.24

[Electron] 일렉트론 sqlite3 연동 , Sqlite3 insert 시 무한 루프 발생

일렉트론 소스 변경시 바로바로 적용이 되게 하려고 main.js 상단에 아래와 같은 소스를 넣어놨었다. require('electron-reload')(__dirname, { electron : require(`${__dirname}/node_modules/electron`) }) 근데 위 소스가 후에 내게 빅엿이 될줄은 상상도 못했다 .. sqlite3 를 연동하고나서 insert 구문을 테스트하는데 페이지가 미친듯이 무한새로고침이 되는게 아닌가 .. 다른것도 아니고 db insert 할때 그모양이 되니 난리도 아니다 결국 상단에 자동새로고침 소스 주석 처리해주니 한번만 실행 되면서 잘 들어간다 .. main.js const { app, BrowserWindow, Menu } = require('ele..

IT/Electron 2021.03.16

[Electron] require is not defined 해결 방법

일렉트론 openDevTools 을 이용하여 F12 메뉴를 보는데 require is not defined 라고 뜬다 찾아보니 nodeIntegration:false 인부분을 true 로 바꿔주면 된다는데 난 그래도 해결이 안됐다 그러다가 contextIsolation : false 라는걸 추가해주니 그제서야 인식이 잘되더라 .. 왜 이렇게 해야 되는지는 모르겠다 여기저기 해외 커뮤니티 뒤지다가 우연히 보게되었는데 얼떨결에 작동이 되서 당황스럽다 국내엔 일렉트론 개발자가 없는건지 있어도 공유를 안하는건지 내가 검색을 못하는건지 한글로 암만 찾아도 안나온다.. 여튼 이부분은 좀 더 찾아봐야 할거같다 main.js const { app, BrowserWindow, Menu } = require('electr..

IT/Electron 2021.03.16

npm install stuck 오류, (electron npm start error)

git clone https://github.com/electron/electron-quick-start 폴더명 npm install npm start npm install 을 해도 자꾸 중간에 멈추고 요지부동 상태 처음에는 npm install 만했을때 그냥 가만히 뜨기만하길래 로그를 찍어보고자 npm install --verbose npm install -ddd 둘다 해봤다, 추가적으로 찾아보니 npm install ionic --loglevel verbose 라는것도 잘쓰인다는데 이건 아직 안써봄 여튼 위처럼 깔끔하게 설치 완료가 안되고나니 아니나다를까 npm start 를 암만쳐봐도 electron . 사용 할수 없다고 뜬다 우선 node 버전이 옛날꺼여서 lts 버전으로 업그레이드를 시켰고, (..

IT/Node.js 2021.03.15
300x250