用php上传文件,获取文件名错误

时间:2011-08-13 17:04:46

标签: php

我正在尝试将文件从用户传输到我的服务器而不是上传文件,问题是当我知道文件名(硬编码)文件被正常上传时,文件被传输到我的文件夹但是问题是我无法在我的fopen函数中获取文件名。我已尝试将其存储在变量中并尝试fopen($ a.csv,“r”)或fopen(($ _ FILES [“file”] [“name” ] .csv“,”r“))但得到错误 解析错误:语法错误,C:\ xampp \ htdocs \ pm \ upload.php中的意外T_CONSTANT_ENCAPSED_STRING在线... 我的代码是否可以解决我的问题?

if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

if (file_exists("upload/" . $_FILES["file"]["name"]))
  {
  echo $_FILES["file"]["name"] . " already exists. ";
  }
else
  {
  move_uploaded_file($_FILES["file"]["tmp_name"],
  "upload/" . $_FILES["file"]["name"]);
  echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
  $a=$_FILES["file"]["name"];}
}
$con =  mysql_connect("localhost","root","");
if (!$con)
{
 die('Could not connect: ' . mysql_error());
}mysql_select_db("pm", $con);
$dum=false;
if (($handle = fopen($_FILES["file"]["name"].csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 10000, ",")) !== FALSE) {

。 .. ... ....

错误在行 if(($ handle = fopen($ _ FILES [“file”] [“name”]。csv“,”r“))!== FALSE){尝试上传没有文件的扩展名!亲切的帮助

1 个答案:

答案 0 :(得分:1)

尝试:

if (($handle = fopen('upload/'.$_FILES['file']['name'], 'r')) !== FALSE) {

您已将文件移至upload目录,您应从该目录中读取该文件。