2013-04-23 119 views
0

對不起,如果這是一個轉發,但我一直有困難在PHP中將文件寫入我的磁盤。我試圖使用HTML表單上傳文件,然後使用PHP文件文件下載到我的電腦,但我不斷收到我已經試過chmod目錄中的錯誤PHP更改寫入權限

Warning: fopen(temp/127.0.0.1): failed to open stream: Permission denied in C:\xampp\htdocs\VotingBox\processForm.php on line 30

給自己寫權限,並且該目錄是在Windows 7的管理員配置文件下創建的,因此它應該具有文件寫入功能,但我仍然遇到相同的錯誤。這裏是我寫的文件代碼:

$ip=$_SERVER['REMOTE_ADDR']; 
if(is_dir("temp/".$ip) == false) 
{ 
    mkdir("temp/".$ip, 0777); 
} 
chmod("temp/".$ip, 0777); 
move_uploaded_file($candImgs[$i], "temp/".$ip); 
$filename1 = "temp/".$ip; 
$fp1 = fopen($filename1, "r"); 
$contents1 = fread($fp1, filesize($filename1)); 
fclose($fp1); ` 

任何幫助將不勝感激。另外,如果有任何幫助,我使用XAMPP來託管我的文件。

+0

。用戶可能沒有權限。 – Marc 2013-04-23 03:18:50

+0

它在管理員配置文件下運行,所以它應該具有讀/寫權限。 – joebobthebumbo 2013-04-24 00:29:32

回答

0

我終於意識到問題出在我的HTML表單上,而不是用php代碼。下面是我的最終代碼的有用的部分,如果任何人有這個問題:

<form name="FORM_NAME" enctype="multipart/form-data" method='post' action="ACTION"> 

<input type="hidden" name="MAX_FILE_SIZE" value="170000" /> 

最後我的PHP代碼:

move_uploaded_file($_FILES['fileName']['tmp_name'], $target_path); 
    $fp  = fopen($target_path, 'r'); 
    $data = fread($fp, filesize($target_path)); 
    fclose($fp); 
    $encoded = chunk_split(base64_encode($data)); 
你可能想找出用戶的Apache下運行