2013-11-24 101 views
0

我要上傳我的網站上的腳本,以便用戶可以上傳其上的LocalServer工作良好的XAMPP的圖像,但是當我把它上傳到我的Web服務器並上傳圖片它給我通知文件夾沒有權限,並將其chmod到777,所以我想知道如何以及在哪裏我把chmod放在這個腳本中。注意我已經在服務器上創建了「Uploads」文件夾,只是告訴我如何chmod。謝謝如何在PHP文件添加CHMOD

<?php 

if(isset($_POST['upload'])) { 

$allowed_filetypes = array('.jpg','.jpeg','.png','.gif'); 
$max_filesize = 10485760; 
$upload_path = 'uploads/'; 
$description = $_POST['imgdec']; 

$filename = $_FILES['userfile']['name']; 
$ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); 

if(!in_array($ext,$allowed_filetypes)) 
    die('The file you attempted to upload is not allowed.'); 

if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize) 
    die('The file you attempted to upload is too large.'); 


if(!is_writable($upload_path)) 
    die('You cannot upload to the specified directory, please CHMOD it to 777.'); 

    if (file_exists("uploads/" . $_FILES["userfile"]["name"])) 
     { 
     echo $_FILES["userfile"]["name"] . " already exists. "; 
     } 
    else 
     { 

if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $filename)) { 
    $query = "INSERT INTO uploads (name, description) VALUES ($filename, $description)"; 
    mysql_query($query); 

echo 'Your file upload was successful!'; 


} else { 
    echo 'There was an error during the file upload. Please try again.'; 
} 
}} 

?> 
+0

你應該能夠使用了shell_exec運行從PHP在chmod – FaddishWorm

回答

0

可以使用,

chmod("/somedir/somefile", 0755); // octal; correct value of mode 

語法:布爾CHMOD(字符串$文件名,INT $模式)

文件名:路徑的文件。

模式:請注意,模式不會自動假定爲一個八進制的值,所以字符串(例如「G + W」)將無法正常工作。爲確保預期的操作,您需要使用零(0)的前綴模式:

mode參數由三個八進制數字組件組成,它們指定所有者所在的用戶組以及其他人按此順序。可以通過爲該目標用戶羣添加所需的權限來計算一個組件。數字1表示您授予執行權限,數字2表示您使文件可寫,數字4表示您使文件可讀。將這些數字相加以指定所需的權限。

注:當前用戶是執行PHP的用戶。它可能與您用於普通shell或FTP訪問的用戶不同。只有在大多數系統上擁有該文件的用戶才能更改該模式。

編號:http://us3.php.net/chmod

Linux命令模式:chmod -R 755 uploads //假設在上傳文件夾有不同的文件夾