2013-11-22 3 views
0

파일에서 디렉토리의 링크를 해제하는 데 몇 가지 문제가 있습니다. 나는 그것을 할 수있는만큼 잘 설명하려고 노력할 것이다.unlink() 함수가 변수와 함께 작동하지 않습니까?

나는 디렉토리에서 파일을 삭제하려고하는데, 먼저 내 데이터베이스에서 파일 이름을 얻습니다. 여기서 파일 이름은 "avatar"필드에 저장됩니다.

이 내 참여 바르 있습니다 : 내 사용자가 hodor 때 내가 $avatardirectory를 인쇄 할 때, 지금까지

$avatar1=mysqli_query($con,"Select avatar from users where user='$_SESSION[Username]'"); 
$avatar2=mysqli_fetch_array($avatar1); 
$avatardirectory = $avatar2['avatar']; //(missunderstanding name, its actually a file). 

, 그것은,

는, 여기에 불쾌한 부분을 확인을 제공

"hodor.png"를 보여줍니다 전 이와 함께 이동하려고 :

그런 다음
unlink('/var/www/html/test/img-gallery/$avatardirectory'); //This wont work. 

난 그냥 파일 이름으로 똑같은 일이 있지만, 작업을 수행합니다

unlink('/var/www/html/prueba/img-gallery/hodor.png'); //This actually works. 

이제 완전히 잃어 버렸습니다.

+2

가변 보간은 작은 따옴표로 묶인 문자열에서는 작동하지 않습니다. 구문 강조가있는 IDE를 사용하십시오. – mario

답변

0

작은 따옴표 문자열 안에 변수가 확장되지 않았습니다.

당신은() 해제

echo '/var/www/html/test/img-gallery/$avatardirectory' 

echo "/var/www/html/test/img-gallery/$avatardirectory" 

주에 차이를 볼 수도 있습니다 파일이 아닌 디렉토리를 제거합니다. rmdir()을 사용하여 (비어있는) 디렉토리를 제거하십시오. (비록 $ avatardirectory가 디렉토리 (?)가 아닌 파일의 이름을 가지고있는 것처럼 들린다)

+0

감사합니다. 예, 내 나쁜 이름은 다른 사람들에게 지저분 해지는 추세입니다. 이제 완전히 작동합니다. – korocota

관련 문제