2012-08-02 39 views
7

Trong máy chủ, tập lệnh tạo thư mục mới, đặt chmod thành 0777, nhưng sau đó nó cố gắng di chuyển tệp vào thư mục đó tôi gặp lỗi: Quyền bị từ chối.Chức năng PHP Đổi tên Quyền bị từ chối

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

Bất kỳ giải pháp?

Trả lời

22

bạn cũng sẽ cần có quyền đọc và ghi trong thư mục nguồn.

chỉ có quyền đối với thư mục đích không đủ khi tệp bị xóa khỏi nguồn của nó.

0

Bạn cũng có quyền thay đổi tệp "files/".$failai[$i].".jpg". Tôi đoán rằng điều đó đang xảy ra sai

0

Bạn có quyền ghi vào tệp không? Nếu không, hãy đảm bảo bạn chmod tệp vào 777 hoặc ít nhất là 644.

Ngoài ra, hãy kiểm tra sự tồn tại của tệp bằng cách đặt một tên tệp file_exists() trước khi bạn đổi tên. :)

Ngoài ra, sau khi di chuyển tệp, bạn có thể cần đặt quyền bằng cách sử dụng chmod() để làm cho nó có sẵn để đổi tên. Bạn có thể thực hiện theo cách này:

<?php 
    chmod($uploadedFile, 0755); 
?> 
Các vấn đề liên quan