홈>
우분투 18.0 TLS와 Windows 10에서 PHP 7.0과 7.2를 사용하고 있습니다.
일반적으로 파일을 업로드하고 그 내용을 처리하는 스크립트가 있습니다.
내가 요구하는 동작은 Ubuntu에서 업로드 된 파일을 위해 생성 된 임시 파일이 아래와 같은 확장자없이 생성된다는 것입니다 :
path: "/tmp"
filename: "phpdvdVPB"
basename: "phpdvdVPB"
pathname: "/tmp/phpdvdVPB"
extension: ""
그러나 Windows에서 작성된 임시 파일은 다음과 같은 확장자로 만들어집니다 :
"dirname" => "C:\xampp\tmp"
"basename" => "php34E6.tmp"
"extension" => "tmp"
"filename" => "php34E6"
임시 파일을 생성하는 tempnam () PHP 메소드를 사용할 때도 동일한 결과가 발생합니다. Linux에서는 확장명없이 파일을 생성하지만 Windows 확장명을 갖습니다.
내 질문은 왜 리눅스가 확장명없이 임시 파일을 생성하고 Windows가 예입니까?
- 답변 # 1
관련 자료
- python - Linux 서버의 flask에서 파일을 다운로드 할 때 오류 발생
- Linux는 모든 로그 파일을 압축합니다
- java - 문자로 분리 및 분할 (CSV 확장자 제외)
- 타사 jar을 사용하지 않고 로컬에서 Linux 시스템 (Java 코드)으로 파일 전송
- ssh - Python 스크립트를 사용하여 Linux 서버에서 Windows 서버의 파일 복사
- javascript - 크롬 확장 프로그램이 로컬 HTML 파일에서만 작동하지 않도록하는 방법
- bash - Linux에서 콘텐츠 파일을 여러 파일로 복사
- github - 복제하지 않고 git 저장소의 모든 파일을 분류
- ubuntu - 모니터 유무에 관계없이 Linux 실행
- Ansible로 디렉토리를 삭제하지 않고 디렉토리 내의 파일을 삭제하는 방법은 무엇입니까?
- bash - for 루프를 사용하지 않고 파일을 통해 Sed?
- command line - macOS Big Sur에서 중복 된 버전의 파일 생성
- binary - MOVZX없이 어셈블리의 부호 확장
- permissions - 루트없이 Kali Linux에 OpenVPN 키 추가
- Linux에서 파일 이름의 체크섬 파일 방법
- c# - Linux에서 liblept 및 libtesseract 파일을 연결하는 방법
- function - Python에서 팬더가없는 파일에서 데이터를 가져 오려면 어떻게해야합니까?
- command line - Linux에서 두 파일을 결합하는 방법은 무엇입니까?
- php - 업로드하기 전에 파일 확장자 및 크기 확인
- linux 유틸리티 (예 - grep)를 사용하여 파일 0x1f (단위 구분 기호)에서 검색
관련 질문
- PHP에서 쉘로 백그라운드 실행에서 실행되는 프로세스의 PID를 얻는 방법
- php : 1행의 'id' 열에 대해 잘린 데이터는 Windows 랩톱에서 Mac으로 파일을 가져온 후 표시됩니다.
- PHP 스크립트가 두 번 이상 실행되는 것을 방지하는 방법은 무엇입니까?
- linux : git Windows 마스터/리눅스 슬레이브에 대한 Jenkins 경로
- Linux에서 민감한 파일을 검색하는 명령
- windows : 덜 자세한 출력을 표시하도록 WGET 가져오기
- Linux .net 코어의 창 인증
- php : setlocale()은 false를 반환합니다.
- PHP 파일 업로드 구성이 작동하지 않습니까?
- 이미 mbstring을 설치했지만 여전히 "경고: 모듈 php-mbstring ini 파일이 /etc/php/7.3/mods-available 아래에 존재하지 않습니다"라는 메시지가 나타납니다.
.TMP는 Windows에서 프로그래밍 방식으로 의미가 없으며 일반적으로 확장명은 등록되지 않습니다. 그러나 임시 파일이이 확장명을 갖는 것이 일반적인 규칙이므로 사용자는 이러한 파일을 안전하게 삭제할 수 있습니다.
DOS 및 이전 Windows 버전은 마지막 핸들을 닫을 때 파일의 자동 삭제를 지원하지 않으므로 응용 프로그램이 충돌하면 임시 파일을 삭제할 수 없습니다.
PHP는 아마도
GetTempFileName
를 사용하고있을 것입니다 이 확장 기능을 자동으로 추가하는 기능입니다. 이 기능은 고유 한 파일 이름을 생성합니다.실제로는 Windows에서 임시 파일을 표시하는 방법이 있지만이 기능은 실제로 최종 사용자에게 노출되지 않습니다.
FILE_ATTRIBUTE_TEMPORARY
로 파일을 표시 할 수 있습니다 속성. 이는 페이징 중 메모리 관리자가 요구하지 않는 한 디스크에 내용을 쓰지 않도록 Windows에 지시합니다.모든 .TMP 파일이 임시 파일이라고하는 정식 문서 참조가 없습니다. 이것은 오래된 기록이며 규칙에 따라 수행됩니다.
GetTempFileName
외에 이 확장을 사용하는 기능, KB 92635의 말 :이 문서는 Windows 2 및 3을 대상으로합니다. ~ 접두어는 선택 사항이며 ~는 Windows 95 이상에서 짧은 이름으로 사용됩니다.