2012-11-18 4 views
0

저는 PHP에 익숙하지 않고 폴더의 파일을 표 행에 에코하려고합니다. 서버에서 파일을 성공적으로 에코 할 수 있지만 파일 형식으로 시도한 모든 것이 작동하지 않습니다. 지금까지 내 코드는 다음과 같습니다.파일 유형을 넘겨 주며, PHP로 날짜가 표에 반영됩니다.

<?PHP 

$folder = "uploads/"; 
$handle = opendir($folder); 


# Making an array containing the files in the current directory: 
while ($file = readdir($handle)) 
{ 
    $files[] = $file; 
} 
closedir($handle); 

#echo the files 
$path_parts = pathinfo($file); 
foreach ($files as $file) { 
    echo " 

    <tr><td><a href=$folder$file>$file</a></td><td>$path_parts['extension']</td><td>date</td> </tr>" 
    ; 
} 
?> 

그런 식으로 설정하면 서버 오류가 발생합니다. 경로 부품/경로 정보 코드를 꺼내면 제대로 작동하지만 물론 파일 유형이 표시되지 않습니다. 이 모든 도움을 많이 주시면 감사하겠습니다, 그리고 누구든지 파일 업로드 날짜를 구현하는 가장 좋은 방법은 잘 알고 있다면 그것은 좋을 것입니다. 그건 그렇고, uploadifive를 업 로더로 사용하면 어떤 차이가 있습니다.

답변

0

나는 코드에 약간의 수정을했을 :

<?php 
$folder = "uploads/"; 
$handle = opendir($folder); 

# Making an array containing the files in the current directory: 
while ($file = readdir($handle)) 
{ 
    $files[] = $file; 
} 
closedir($handle); 

foreach ($files as $file) 
{ 
    #echo the files 
    $path_parts = pathinfo($file); 
    echo "<tr><td><a href='" . $folder . $file . "'>" . 
     $file . "</a></td><td>" . $path_parts['extension'] . 
     "</td><td>date</td></tr>"; 
} 

는 대부분의 $path_parts = pathinfo($file); 루프 자체에 있어야한다. 그렇지 않으면 루프에서 마지막 $file에만 pathinfo를 실행합니다.

+0

와우, 번개 신속한 답변과 완벽하게 작동합니다. 고마워요! – member8888

+0

당신은 오신 것을 환영합니다. 문제를 해결 한 경우이 대답을 "수락 됨"으로 표시하십시오. –

1

이미 설명한 바와 같이 $path_parts 변수 할당은 foreach 루프 내부에 있어야합니다. 코드의 일부 줄을 저장하려면 폴더의 파일을 읽는 while 루프 대신에 scandir을 사용해야합니다. 여기

는 코드가 이러한 변경 후 보일 수 있습니다 방법입니다

<?PHP 

$folder = "uploads/"; 

# Making an array containing the files in the current directory: 
$files = scandir($folder); 

#echo the files 
foreach ($files as $file) { 
    $path_parts = pathinfo($folder.$file); 
    echo "<tr><td><a href={$folder}{$file}>{$file}</a></td><td>{$path_parts['extension']}</td><td>date</td></tr>"; 
} 
+0

+1 용 scandir. –