2012-08-02 16 views
7

सर्वर में, स्क्रिप्ट नया फ़ोल्डर बनाते हैं, chmod को 0777 पर सेट करते हैं, लेकिन फिर यह उस फ़ोल्डर में फ़ाइलों को स्थानांतरित करने का प्रयास करता है मुझे त्रुटि मिलती है: अनुमति अस्वीकार कर दी गई है।PHP फ़ंक्शन नाम बदलें अनुमति अस्वीकार

mkdir("../".$new_1, 0777); 
chmod("../".$new_1, 0777); 

mkdir("../".$new_1."/".$new_2, 0777); 
chmod("../".$new_1."/".$new_2, 0777); 

rename("files/".$failai[$i].".jpg", "../".$new_1.'/'.$new_2."/".$failai[$i].".jpg"); 

Warning: rename(files/new_file.jpg,../112a/112b/Tech_diz_1.jpg) [function.rename]: Permission denied in ..code/Jpg&Html.php on line 82

किसी भी समाधान?

उत्तर

22

आपको स्रोत फ़ोल्डर में भी अनुमतियां पढ़ने और लिखने की आवश्यकता होगी।

केवल लक्ष्य-फ़ोल्डर के लिए अनुमतियां पर्याप्त नहीं है क्योंकि फ़ाइल को इसके स्रोत से हटा दिया गया है।

0

आपको फ़ाइल "files/".$failai[$i].".jpg" फ़ाइल को बदलने की अनुमति भी होनी चाहिए। मुझे लगता है कि यह गलत हो रहा है

0

क्या आपके पास फ़ाइल में लेखन पहुंच है? यदि नहीं, तो सुनिश्चित करें कि आप chmod फ़ाइल को 777 पर या कम से कम 644 पर सुनिश्चित करें।

इसके अलावा, नाम बदलने से पहले फ़ाइल नाम पर file_exists() देकर फ़ाइल के अस्तित्व की जांच करें। :)

इसके अलावा, फ़ाइल को स्थानांतरित करने के बाद, आपको नाम बदलने के लिए chmod() का उपयोग करके अनुमतियां सेट करने की आवश्यकता हो सकती है। आप इसे इस तरह से कर सकते हैं:

<?php 
    chmod($uploadedFile, 0755); 
?>