PHP를 사용하여 폴더의 첫 번째 파일에서 콘텐츠를 가져오고 콘텐츠가로드되면 파일을 삭제합니다. 여기에 내가 무엇을 가지고 : 그래서 아무 권한 오류를 거부하지가PHP : 폴더의 첫 번째 파일에서 콘텐츠 가져 오기 및 삭제
는$a = opendir('./');
while (false !== ($entry = readdir($a))) {
if($entry != '.' && $entry != '..') {
echo $entry = file_get_contents('./'.$entry.'', FILE_USE_INCLUDE_PATH);
break; // only need the first file
}
}
위의 코드는 폴더의 첫 번째 파일을로드하고 나는 성공적
unlink("temp.txt");
같은 것을 사용하여 삭제할 수 있습니다. 하지만 모든 파일 이름이 다르기 때문에 변수 이름으로 파일을 삭제하면됩니다. 놀랍게도 나를 위해, unlink("$entry");
또는 이와 유사한 뭔가가 그 대신 그 파일의 내용의 처음 몇 줄과 함께 경고를 보여주는 그것을 삭제하지 않습니다. 내가 $entry
을 echo하면 정확하게 temp.txt를 보여줍니다. 누군가가 나를 계몽 할 수 있습니까? 내가 여기서 무엇을 놓치고 있니?
() 관련 질문 : 1.txt, 2.txt, 3.txt, 10.txt와 같은 숫자 파일이있는 경우 위의 코드를 수정할 수있는 방법이 있습니까? 방법, 그것은 1,10,2,3 ...과 같은 파일을 불러 오지 않습니다. 대신 1,2,3,10 ...을로드하십시오.)
업데이트 : 작동되는 업데이트 된 코드 나중에 참조)에 대해 :
$a = opendir('./');
while (false !== ($entry = readdir($a))) {
if($entry != '.' && $entry != '..') {
echo $b = file_get_contents('./'.$entry.'', FILE_USE_INCLUDE_PATH);
break; // only need the first file
}
}
unlink("./$entry");
파일 내용으로'$ entry'를 덮어 쓰고 있습니다. 그래서 주기적으로, 할당 후에'$ entry'는 더 이상 유효한 파일 위치를 가리 키지 않습니다. –
상대 경로를 사용하여'$ entry'를 삭제하려고하면'unlink ("./$ entry"); '이어야합니다. – MisterBla
* 첫 번째 파일은 무엇을 의미합니까? – alex