2011-12-25 25 views
7

इस कोडपीएचपी अनलिंक समारोह

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

है, लेकिन किसी कारण से मैं इस त्रुटि चेतावनी मिलती है: अनलिंक();

क्यों $ user_avatar खाली आता है? और अगर मैं गूंज यह t_cabbbccebbfhdb.jpg

+0

आपको क्या त्रुटि मिलती है? आपकी पोस्ट वास्तविक त्रुटि संदेश को याद करने लगती है। क्या फाइल वर्तमान कार्यशील निर्देशिका में वास्तव में मौजूद है? – catchmeifyoutry

+3

जब मैं PHP कोड को [PHP तैयार किए गए वक्तव्य] (http://php.net/manual/en/pdo.prepared-statements.php) का उपयोग नहीं कर रहा हूं तो मुझे चिंतित हो जाता है [SQL इंजेक्शन] (http: // en। wikipedia.org/wiki/SQL_injection) भेद्यताएं। मुझे उम्मीद है कि आप कोड में अपने चर को स्वच्छ कर रहे हैं जिसे यहां चिपकाया नहीं गया है। यदि नहीं, तो कृपया अपने चर को स्वच्छ करने की कोशिश करने के बजाय पीडीओ तैयार वक्तव्यों का उपयोग करने के लिए कोड को दोबारा लिखने पर विचार करें। – sarnold

उत्तर

12

अनलिंक से पता चलता फ़ाइलों को हटा दें, जबकि सेट नहीं चर के लिए है।

यदि चर रिक्त हो जाता है, तो शायद क्वेरी कोई रिकॉर्ड नहीं लौटाती है। क्या आपने मैन्युअल रूप से क्वेरी चलाने की कोशिश की?

+6

कृपया पूर्ण, सुसंगत वाक्य लिखें। "लेखन शैली मायने रखती है" - http://stackoverflow.com/questions/how-to-answer – BoltClock

+0

जानकारी –

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

के लिए धन्यवाद फ़ाइल मौजूद है और यदि मैं $ home = $ _SERVER ['DOCUMENT_ROOT'] लिखता हूं; को अनलिंक ($ home.'t_cabbbccebbfhdb.jpg '); यह काम कर रहा है। लेकिन अगर मैं इसे अनलिंक करने के लिए बदलता हूं ($ home। $ user_avatar); त्रुटि संदेश अनलॉक प्रदर्शित करता है (/ home/naturecl/public_html।) और $ user_avatar खाली की तरह है? – Ben

+0

संपादित कोड की जांच करें, यदि आप $ user_avatar में फ़ाइल नाम –

+0

$ target = "$ home/img/avatars/$ user_avatar" है तो आप अनलिंक का उपयोग कर सकते हैं; और यदि मैं echo $ user_avatar फ़ाइल नाम दिखा रहा हूं लेकिन अनलॉक फ़ंक्शन में खाली है और इसकी चेतावनी दिखाती है: अनलिंक (/ home/naturecl/public_html/img/avatars /) – Ben

0

पीएचपी अनलिंक में, एक फ़ाइल को नष्ट सुनिश्चित करें कि आप सही रास्ते दे रहे हैं बनाने के लिए प्रयोग किया जाता है। विवरण के लिए यहां देखें http://se.php.net/unlink

चर के लिए सेट अप करने का प्रयास करें। http://se.php.net/manual/en/function.unset.php

संबंधित मुद्दे