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()関数が続く場合、問題が発生する可能性があります。

'undefined'関数は、PHPセッションを開始したかどうかには関係ありません。したがって、代わりにエラーメッセージを調べてください。「未定義」エラーは、関数が最初に呼び出された時点で関数が不明な場合に発生します。

于 2012-10-23T06:51:10.710 に答える