1

我正在尝试使用fileupload()php 中的函数上传 pdf 文件。这在不使用会话但会话出错时非常有效。

这就是我定义会话的方式:

 session_start();
if(isset($_SESSION['name']))
{
$name=$_SESSION['name'];
$_SESSION['name']=$name;


这是 fileupload() 函数:

function fileupload()
{
$corname = $_POST['corname'];
 define ("FILEREPOSITORY","./upload");

$filename = './upload/'.$corname.'.pdf';
//echo $filename;

   if (is_uploaded_file($_FILES['file']['tmp_name'])) 
   {

      if ($_FILES['file']['type'] != "application/pdf") 
      {
         echo "<p>Class notes must be uploaded in PDF format.</p>";
      } 


     else if(file_exists($filename))
        {
      echo "already exist";
       }

        else 
      {
         //$name = $_POST['corname'];
         $result = move_uploaded_file($_FILES['file']['tmp_name'], FILEREPOSITORY."/$corname.pdf");
         if ($result == 1) 
            {echo "<p>File successfully uploaded.</p>";
            $cata=$_POST['cata'];
$subcata=$_POST['subcata'];
$corname = $_POST['corname'];
$heading=$_POST['headng'];
$descrip=$_POST['descrip'];
$cno=$_POST['cno'];
$credit=$_POST['credit'];
$fee=$_POST['fee'];
            $qry="insert into course (catagory,subcatagory,courseno,coursename,heading,description,credit,fee,coursefilename) values ('$cata','$subcata','$cno','$corname','$heading','$descrip','$credit','$fee','$corname')";
$ins_qry=mysql_query($qry);
if($ins_qry)
{
echo "Successfully Inserted<br>";
}
else
{
echo mysql_error();
}}
         else {echo "<p>There was a problem uploading the file.</p>";}
       } #endIF
   } #endIF

}}

这是我收到的错误消息:

致命错误:在第 66 行调用 C:\wamp\www...\course_submit_process.php 中未定义的函数 fileupload()


我已经检查了所有内容是否存在错误,但无法找到任何解决方案。如果我遗漏了什么,请告诉我。
提前致谢。

4

2 回答 2

1

您没有包含包含该fileupload()方法的文件。

所以最重要的是course_submit_process.php

include "file_containing_fileupload()";
于 2012-10-23T06:47:41.817 回答
1

在发布的代码中,您不会以 } 结束第一个 IF 条件。如果 fileupload() 函数跟随,这可能会导致您的问题。

“未定义”函数与您是否启动 PHP 会话无关。因此,请查看错误消息。当函数在首次调用时未知时,会发生“未定义”错误。

于 2012-10-23T06:51:10.710 回答