링크를 사용하여 PHP에서 사진을 삭제하려고합니다. 이전에 다른 서버에서 사용했지만 이번에는 작동하지 않습니다. 테스트를 위해 절대 경로를 사용했지만 여전히 작동하지 않습니다.PHP 링크 해제 작동하지 않음
나는 이것을 다음과 같이 사용했습니다 : unlink ('img1.jpg');
과 :
unlink('http://www.mysite.com/img1.jpg');
하시기 바랍니다 같은 경험을 가지고 누구?
링크를 사용하여 PHP에서 사진을 삭제하려고합니다. 이전에 다른 서버에서 사용했지만 이번에는 작동하지 않습니다. 테스트를 위해 절대 경로를 사용했지만 여전히 작동하지 않습니다.PHP 링크 해제 작동하지 않음
나는 이것을 다음과 같이 사용했습니다 : unlink ('img1.jpg');
과 :
unlink('http://www.mysite.com/img1.jpg');
하시기 바랍니다 같은 경험을 가지고 누구?
URL도,
는이
그것은 더 나은 사용시겠습니까 ULINK 기능에 허용되는 절대 경로를 사용하는 것이 현명 안전에 없습니다. 그러나이 경로를 동적으로 가져올 수 있습니다.
예. 사용 :
getcwd();
당신의 PHP 스크립트는 위치에 따라, 당신의 변수는 다음과 같이 수 :
$deleteImage = getcwd() . 'img1.jpg';
unlink($deleteImage);
확인이
bool unlink (string $filename [, resource $context ])
및
파일 이름
경로입니다.
는 그래서 만은 파일 이름과 같은 문자열을 사용합니다.
스크립트를 실행 한 위치의 경로로 파일에 연결할 수 있는지 확인하십시오. 절대 경로에는 문제가 없지만 상대 경로가있는 경로가있을 수 있습니다. //이 지원되지 않습니다 : 지금, HTTP가
getcwd()로 작업하고 있지만 절대 경로가없는 이유는 알지 못합니다. 어쨌든 감사 파텔. 등록자 : Sunil – Sunil
비록() 링크 해제를 지원하는 URL (see here) http wrapper information
파일을 삭제하는 파일 시스템 경로를 사용합니다.
링크 해제가 unlink('http://www.mysite.com/img1.jpg');
사용과 작동하지 않습니다 대신 unlink($_SERVER['DOCUMENT_ROOT'].'img1.jpg');
//은
unlink($_SERVER['DOCUMENT_ROOT'].'dir_name/img1.jpg');
이 확인 issue.please 파일 권한이있을 수 있습니다, 현재 디렉토리 을 취하거나.
이미지가 저장되는 폴더와 스크립트를 쓰고있는 파일의 상대 경로를 지정하십시오. 파일 구조가 같은 경우 :
-your php file
-images
-1.jpg
then
unlink(images/1.jpg);
또는 어떤 폴더 권한 문제가있을 수 있습니다. 파일이 서버에 있거나 localhost에서 실행 중입니까? 서버에 있다면 이미지 폴더에 755 권한을 부여하십시오.
사용하는 파일 시스템 경로,
먼저 다음과 같은 경로를 정의 :
define("WEB_ROOT",substr(dirname(__FILE__),0,strlen(dirname(__FILE__))-3));
및 확인 파일이 존재하고 파일을 해제하는 경우, 존재 여부이다.
$filename=WEB_ROOT."img1.jpg";
if(file_exists($filename))
{
$img=unlink(WEB_ROOT."img1.jpg");
}
당신은 리눅스에 연결 해제 또는 유닉스 당신은 또한 is_writable (string $filename) 의 결과를 확인해야합니다 그리고 함수가 false를 반환하는 경우, 당신은 fileperms (string $filename)와 파일 권한을 확인해야합니다 사용하는 경우.
파일 사용 권한은 웹 공간에서 일반적으로 발생하는 문제입니다. FTP 사용자가 ftp 당 파일을 업로드하고 웹 서버가 다른 사용자로 실행중인 경우 이 문제가있는 경우
, 당신은
chmod를 오 + RWD img1.jpg
또는
에 할 수있다chmod를 777 img1.jpg
다른 사용자의 권한을 쓰기 (및 삭제)합니다.
URL을 사용하여 삭제할 수 없습니다. '/ var/www/mysite.com/img1.jpg'와 같은 전체 파일 시스템 경로를 시도 했습니까? – Maerlyn
오류가 있습니까? 어쩌면이 파일을 삭제할 수있는 권한이 없거나 파일이 서버의 다른 곳에있을 수 있습니다. http : // ... 주소와의'unlink'는 작동하지 않을 것입니다. 서버 경로를 사용해야합니다. – Jojo
나는 그것을 다음과 같이 사용했다 : unlink ('img1.jpg'); 하지만 작동하지 않음 – Sunil