2013-04-23 120 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下运行