728x90
300x250
경로를 잘맞춰줘야합니다.
$old = "../"."변경전 파일명";
$new = "../"."변경후 파일명";
$result = rename($old, $new);
if($result){
echo "OK";
}else{
echo "NO";
}
<?php
function myScanDir($dir, $level, $rootLen)
{
global $pathLen;
if ($handle = opendir($dir)) {
$allFiles = array();
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
if (is_dir($dir . "/" . $entry)) {
$allFiles[] = "D: " . $dir . "/" . $entry;
} else {
$allFiles[] = "F: " . $dir . "/" . $entry;
}
}
}
closedir($handle);
natsort($allFiles);
foreach ($allFiles as $value) {
$displayName = substr($value, $rootLen + 4);
$fileName = substr($value, 3);
$linkName = str_replace(" ", "%20", substr($value, $pathLen + 3));
$fileCheck = substr($fileName, -3);
if (is_dir($fileName)) {
if (is_numeric($realFolder)) {
myScanDir($fileName, $level + 1, strlen($fileName));
}
} else {
//확장자 wav 파일만
if ($fileCheck == "wav") {
$linkName_arr = explode('/', $linkName);
// $linkName_arr[1] 폴더명
// $linkName_arr[2] 파일명
$old = "../" . "변경전 파일명";
$new = "../" . "변경후 파일명";
rename($old, $new);
}
}
usleep(1000);
}
}
}
$root = $_SERVER['DOCUMENT_ROOT'];
myScanDir($root, 0, strlen($root));
?>
웹 서버 디렉토리 하위에 위치한 wav 파일들이 있는데 샘플로 테스트할게 많이 필요한데 파일명이 다달라야해서
일괄로 파일들을 긁어와서 파일명을 해당 폴더명을껴서 작업을 할때 필요했었습니다.
하위 폴더 모두 접근해서 wav 확장자인것만 모두 긁어와서 일괄 해당 폴더명으로 rename 하게끔 조정했네요.
아래와 같은 구조였습니다.
D드라이브
- Record(웹 서버 root)
-20200324
녹음파일1_20200324.wav
녹음파일2_20200324.wav
녹음파일3_20200324.wav
-20200325
녹음파일1_20200325.wav
녹음파일2_20200325.wav
녹음파일3_20200325.wav
728x90
300x250
'IT > PHP' 카테고리의 다른 글
[PHP] 대용량 파일 업로드 할 시 체크사항 (0) | 2021.03.31 |
---|---|
[PHP] 암호화 openssl aes-256-cbc (0) | 2021.03.29 |
[PHP + Mysql] Rownum 적용 SET @ROWNUM:=0; (0) | 2021.01.28 |
[PHP] Window 에 Composer 설치 (설치시 ssl 관련 오류해결) (0) | 2021.01.11 |
[PHP] php.ini 7.2 버전 , 7.4버전별 정리 (0) | 2020.12.17 |