2011-12-25 11 views
7

Este es el códigoPHP función de desvinculación

$query = mysql_query("SELECT avatar FROM users WHERE UserID = ".$userID.""); 
     $row = mysql_fetch_array($query); 
     $user_avatar = trim($row['avatar']); 
unlink($user_avatar); 

pero por alguna razón me sale este error Advertencia: unlink();

qué $ user_avatar regresa vacía? y si me hago eco se muestra t_cabbbccebbfhdb.jpg

+0

qué error se puede conseguir? Tu publicación parece perderse el mensaje de error real. ¿El archivo realmente existe en el directorio de trabajo actual? – catchmeifyoutry

+3

Me preocupa cuando veo código PHP no usar [Sentencias preparadas de PHP] (http://php.net/manual/en/pdo.prepared-statements.php) para prevenir [Inyección SQL] (http: // en. wikipedia.org/wiki/SQL_injection) vulnerabilidades. Espero que esté desinfectando sus variables en un código que no ha sido pegado aquí. De lo contrario, considere volver a escribir el código para usar las Declaraciones preparadas de PDO en lugar de intentar desinfectar sus variables. – sarnold

Respuesta

12

de desenlace eliminar archivos mientras que desarmar es para las variables.

Si los rendimientos variables vacía, tal vez la consulta no devuelve ningún registro. ¿Intentó ejecutar la consulta manualmente?

+6

Por favor, escriba oraciones completas y coherentes. "asuntos estilo de escritura" - http://stackoverflow.com/questions/how-to-answer – BoltClock

+0

gracias por la información –

1
$query = mysql_query("SELECT avatar FROM users WHERE UserID = ".$userID.""); 
     $row = mysql_fetch_array($query); 
     $user_avatar = trim($row['avatar']); 
unset($user_avatar); 

//if you want to unlink file then 

if(!empty($user_avatar)) {  
    unlink($home.$user_avatar); // $yourFile should have full path to your file 
} 
+0

el archivo existe y si escribo $ hogar = $ _SERVER [ 'DOCUMENT_ROOT']; desvincular ($ home.'t_cabbbccebbfhdb.jpg '); esta funcionando. pero si lo cambio para desvincular ($ home. $ user_avatar); el mensaje de error muestra la opción de cancelar (/ home/naturecl/public_html.) y el $ user_avatar está vacío. – Ben

+0

verificación de código editado, puede utilizar desvincular si el nombre del archivo contiene $ user_avatar –

+0

$ target = "$ home/img/avatares/$ user_avatar"; y si me echo $ user_avatar está mostrando el nombre del archivo, pero en la función unlick está vacío y sus espectáculos de advertencia: unlink (/ home/naturecl/public_html/img/avatares /) – Ben