2010-07-08 8 views
4

구획 번호를 변경해야한다는 점에 유의하십시오.특정 이름의 확장명을 가진 파일 찾기

<?php 
    $compartment = "1"; 

     /* HERE I NEED SOME SCRIPT TO FIND THE EXTENSION OF THE FILE NAME $compartment AND TO SAVE THAT AS A VARIABLE NAMED 'EXTENSION'.*/ 

    if (file_exists($compartment.$extension)) { 
     echo "$compartment.$extension exists! 
    } else { 
     echo "No file name exists that is called $compartment. Regardless of extension." 
    } 
?> 


<?php 
    $compartment = "2"; 

     /* HERE I NEED SOME SCRIPT TO FIND THE EXTENSION OF THE FILE NAME $compartment AND TO SAVE THAT AS A VARIABLE NAMED 'EXTENSION'.*/ 

    if (file_exists($$compartment.$extension)) { 
     echo "$compartment.$extension exists! 
    } else { 
     echo "No file name exists that is called $compartment. Regardless of extension." 
    } 
?> 

감사합니다!

+0

하나 이상의 광석? 어쨌든 glob을 사용할 수 있습니다. – Artefacto

+0

그리고 그 찾기가 무엇을 기대합니까? 특정 폴더에서 검색하거나 특정 폴더에서 시작하여 모든 폴더에서 검색 하시겠습니까? 부분 일치가 유효하거나 전체 파일 이름이 일치해야합니까? 어쨌든 PHP 참조 – wimvds

+0

에있는 [opendir] (http://www.php.net/opendir) 및 [readdir] (http://www.php.net/readdir) 함수를 확인하는 것이 좋습니다. 그 이름을 가진 하나의 파일이되어야하므로 다중 일치에 대해 걱정할 필요가 없습니다. 부분 일치는 반환되지 않습니다. 나는. 나는 1과 13을 따로 돌려주고 싶다. –

답변

16

glob()이 필요합니다.

$compartment = "2"; 

$files = glob("/path/to/files/$compartment.*"); // Will find 2.txt, 2.php, 2.gif 

// Process through each file in the list 
// and output its extension 
if (count($files) > 0) 
foreach ($files as $file) 
{ 
    $info = pathinfo($file); 
    echo "File found: extension ".$info["extension"]."<br>"; 
} 
else 
    echo "No file name exists called $compartment. Regardless of extension." 

그런데 위에서 뭘하고 있니? 조회

$compartments = array(1, 3, 6, 9); // or whichever compartments 
            // you wish to run through 

foreach ($compartments as $compartment) 
    { 
    ..... insert code here ....... 
    } 
+0

감사합니다. 코드 내에서 '복구 된'파일을 몇 번 참조해야합니다. 이것이 문제가됩니까? –

+0

@Andy no, 'foreach $ files as $ file' 루프 내에서 작업하는 한. (변수를 사용할 수도 있지만 그 중 하나를 선택해야합니다.) –

2

을 : 돈 '코드 블록을 반복하지만,이로 중 하나를 포장 - 패턴을

  • fnmatch 일치하는 경로 이름을 찾기 -

    • glob을 패턴에 대해 일치 파일 이름을
    • pathinfo - 파일 경로에 대한 정보를 반환합니다.
  • +0

    +1 수동 링크입니다. –

    관련 문제