2012-01-31 2 views
-1

내가 디렉토리에 PHP unlink() 기능 (user-images/1/p/)를 호출하고이 포함 된 다음 파일을 삭제 1big.jpg 만 삭제하면 1 (1big.jpg, 1-s.jpg, 1.jpg)이 포함 된 모든 파일이 삭제됩니다. 나는 이것을 아주 조금 연구했고 유사한 문제로 게시하는 사람을 찾지 못하는 것 같습니다.PHP의 링크 해제 명령을 여러 파일

편집 : 아래의 내용은 전체 스크립트입니다.별로 영향을받지 않습니다. 나는 본 적이 없어이 전 중 하나 :(

<?PHP 
unlink('user-images/1/p/1.jpg'); 
unlink('user-images/1/p/1-s.jpg'); 
$uid = '1'; 
$fileName = '467'; 
$image = '/friskyfriends/user-images/1/p/1-big.jpg'; 
$width = 320; 
$height = 320; 
buildPics(); 
//buildPics($uid,$fileName,$image,$width,$height); 
?> 
+9

그것에 만 연결 해제 라인 간단한 phpfile이라고를 시도하고 직접 호출이 여전히 발생하는 경우를 참조하십시오. 그렇지 않은 경우 스크립트의 다른 부분에 문제가있을 수 있습니다. 어쨌든 정말로 그것이 링크 해제 명령 자체와 관련이 있는지 의심 스럽습니다. – tim

+2

그건 미친 짓이야, 일어날 일이 아니야. a) 전체 스크립트를 공유 할 수 있습니까? 실제로 다른 문제가있는 것처럼 들릴 수 있습니다. b) 단일 unlink() 호출을 제외하고 아무것도 포함하지 않은 스크립트를 실행 해 보았습니까? – GordonM

+0

실험하기 만하면 상대 경로 대신 절대 경로를 사용해보십시오. 그래도 작동하지 않으면 파일의 이름을 바꾸고 삭제하고 무슨 일이 일어나는 지 확인하십시오. –

답변

1

그것에 만 unlink 코드로 PHP 파일을 실행, 괜찮 았어. 내 포함 나머지 부분을 추적 (영원히 걸렸습니다 :() 및 코딩 전에 몇 가지 문제를 발견했습니다. 왜 여전히 영향을 정적 unlink() 호출 할 수 있습니다. 그것은 코드에서 다른 문제가 있었다. 이 문제를 해결하는 데 도움을주기 위해 모든 사람들이 내놓은 시간과 노력에 감사드립니다 ...

0

삭제하고자하는 이미지에 대한 링크 해제 함수를 추가하십시오.

unlink($image); 
+0

왜 "링크 해제를 제거하십시오"? 그렇다면 파일을 어떻게 지우겠습니까? 귀하의 코드는 단순히 OP가 사용하고자하는 기능을 제거합니다 ... –

+0

하나의 파일을 삭제하려면 한 줄의 링크 해제 기능을 사용하십시오. – Sivanath

+0

답변에있는 것과 아무 것도 없습니다 ... 그 설명으로 편집해야합니다. 지금까지는 링크 해제를 모두 제거하길 원합니다. –

6

와일드 카드로 삭제할 수있는 GLOB 기능을 찾고 있다고 생각합니다.

예를

foreach (glob("*.jpg") as $filename) { 
    echo "$filename size " . filesize($filename) . "\n"; 
    unlink($filename); 
}