2010-08-20 66 views
0

这里是我的代码:上传.xls文件。

<?php 

require_once 'Excel/reader.php'; 

$data = new Spreadsheet_Excel_Reader(); 

move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]); 

$data->read($_FILES["file"]["name"]); 


error_reporting(E_ALL^E_NOTICE); 

echo "<table border='1'>"; 

echo "<tr><th>First Name</th><th>Middle Name</th><th>Last Name</th><th>Email ID</th></tr>"; 

for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) 
     { 
echo "<tr>"; 


echo "<td>"; 

     echo $data->sheets[0]['cells'][$j+1][1]; 

echo "</td>"; 

echo "<td>";  

     echo $data->sheets[0]['cells'][$j+1][2]; 

echo "</td>"; 


echo "<td>"; 


     echo $data->sheets[0]['cells'][$j+1][3]; 

echo "</td>"; 


echo "<td>"; 


     echo $data->sheets[0]['cells'][$j+1][4]; 

echo "</td>"; 

     //echo "<br>"; 


echo "</tr>"; 

     } 


echo "</table>"; 


?> 

在本地主机上运行这很好,但是当我尝试在服务器上运行它,它表明:

Warning: move_uploaded_file(Book1.xls) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/wingsele/public_html/get.php on line 6 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpufQkcr' to 'Book1.xls' in /home/wingsele/public_html/get.php on line 6 

The filename Book1.xls is not readable 

我缺少什么?

+1

请修复您的代码:再次粘贴,以便没有空行,并使用“代码”按钮正确缩进。 – 2010-08-20 08:42:18

回答

2

您需要设置写权限(chmod,可能使用您的FTP客户端)到您将上载文件移动到的目录。

而且,在这一行:

move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]); 

,应指定一个完整路径作为第二个参数,例如

move_uploaded_file($_FILES["file"]["tmp_name"],dirname(__FILE__)."/".$_FILES["file"]["name"]); 

为当前目录。

+0

OP甚至不应该使用'$ _FILES [“file”] [“name”]',而是创建一个新名称。 – deceze 2010-08-20 08:43:41

+0

@deceze好点。 – 2010-08-20 08:46:46

+0

在哪里我设置了我的宽容? – 2010-08-20 08:47:22