PHP-파일을 서버의 다른 폴더로 이동
내 웹 사이트의 사용자가 더 이상 원하지 않는 경우 이미지를 업로드 한 후 서버에서 이미지를 삭제하도록 허용해야합니다. 나는 이전 unlink에 PHP 에서 함수를 사용하고 있었지만 그 후에는 이것이 매우 위험하고 보안 문제가 될 수 있다고 들었습니다. (이전 코드 :)
if(unlink($path.'image1.jpg')){
// deleted
}
대신 파일을 다른 폴더로 간단히 옮기고 싶습니다. 계정에 로그인 할 때마다 파일을 처음 업로드 한 후 오랜 시간이 걸릴 수 있어야합니다. 사용자 이미지를 저장하는 기본 폴더가있는 경우 :
user/
그런 다음 del이라는 폴더 안에 원하지 않는 이미지를 넣을 대상입니다.
user/del/
파일을 다른 폴더로 옮기는 명령이 있습니까? 그래서 그것은 말합니다 :
user/image1.jpg
이사 / 이민
user/del/image1.jpg
이 rename기능은
rename('image1.jpg', 'del/image1.jpg');
기존 파일을 동일한 위치에 유지하려면 사용해야합니다 copy
copy('image1.jpg', 'del/image1.jpg');
업로드 된 파일을 이동 시키려면을 사용하십시오 move_uploaded_file. rename이 기능 과 거의 동일하지만 지정된 파일이을 통해 업로드 된 파일인지 확인합니다. POST예를 들어 로컬 파일이 이동되는 것을 방지합니다.
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
}
}
문서에서 코드 스 니펫
rename () 함수를 사용하십시오 .
rename("user/image1.jpg", "user/del/image1.jpg");
원본 파일 이름을 유지하면서 새 경로로 파일을 이동하려는 경우. 이것을 사용하십시오 :
$source_file = 'foo/image.jpg';
$destination_path = 'bar/';
rename($source_file, $destination_path . pathinfo($source_file, PATHINFO_BASENAME));
일부 솔루션은 먼저 파일을 위에서 언급 한 것처럼 copy ()하고 대상 파일이 존재하는 경우 이전 현지화에서 unlink () 파일을 해제합니다. 또한 연결을 해제하기 전에 MD5 체크섬을 확인하여 확실하게 확인할 수 있습니다
이동할 함수를 작성하십시오.
function move_file($file, $to){
$path_parts = pathinfo($file);
$newplace = "$to/{$path_parts['basename']}";
if(rename($file, $newplace))
return $newplace;
return null;
}
쉘을 사용하여 모든 데이터 파일을 읽은 다음 배열에 할당하십시오. 그런 다음 파일을 최상위 위치로 옮깁니다.
i=0
for file in /home/*.gz; do
$file
arr[i]=$file
i=$((i+1))
done
mv -f "${arr[0]}" /var/www/html/
사용 사본 () 및 연결 해제 () 함수
$moveFile="path/filename";
if (copy($csvFile,$moveFile))
{
unlink($csvFile);
}
shell_exec ( 'mv 파일 이름 dest_filename');
참고 URL : https://stackoverflow.com/questions/19139434/php-move-a-file-into-a-different-folder-on-the-server
'Programming' 카테고리의 다른 글
| SQL Server 2008에서 복합 기본 키를 만드는 방법 (0) | 2020.06.02 |
|---|---|
| 리스트 변환 (0) | 2020.06.02 |
| iPhone에서 최초 앱 실행을 감지하는 방법 (0) | 2020.06.02 |
| 트위터 부트 스트랩 모달 : 슬라이드 다운 효과를 제거하는 방법 (0) | 2020.06.02 |
| Intellij IDEA는 for-each / for 키보드 단축키를 생성합니다. (0) | 2020.06.02 |