0

所以,这是我试图用来将一个大的 pdf 文件分解成块并将其存储在我的数据库中的代码。是否有任何原因无法正常工作。我整天都在努力解决这个问题,并且绕了一大圈。将不胜感激任何帮助!谢谢!

<?
$username="something";
$password="something";
$database="something";

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Unable to select database");

$STARTFILE = 1;
$ONFILE = "file" . $STARTFILE;

while (isset($HTTP_POST_FILES["$ONFILE"])) {

// Try!
$SrcPathFile = $HTTP_POST_FILES["$ONFILE"]["tmp_name"];
$SrcFileType = $HTTP_POST_FILES["$ONFILE"]["type"];
$DstFileName = $HTTP_POST_FILES["$ONFILE"]["name"];

clearstatcache();
$time = filemtime($SrcPathFile);
$storedate = date("Y-m-d H:i:s", $time);

// File Processing
if (file_exists($SrcPathFile)) {

// Insert into file table
$SQL  = "insert into tbldocuments(Type,Description,Size,DateTime) values ('";
$SQL .= $SrcFileType . "', '" . $DstFileName . "', " . filesize($SrcPathFile);
$SQL .= ", '" . $storedate . "')";

if (!$RES = mysql_query($SQL, $linkid)) {
  die("Failure on insert to file table!");
}

$fileid = mysql_insert_id($linkid);

// Insert into the filedata table
$fp = fopen($SrcPathFile, "rb");
while (!feof($fp)) {

  // Make the data mysql insert safe
  $binarydata = addslashes(fread($fp, 65535));

  $SQL = "insert into tblDocumentChunks (documentId,chunkData) values (";
  $SQL .= $fileid . ", '" . $binarydata . "')";

  if (!mysql_query($SQL, $linkid)) {
    die("Failure to insert binary inode data row!");
  }
}

fclose($fp);
}

$STARTFILE ++;
$ONFILE = "file" . $STARTFILE;
}

echo "Upload Complete";
?>
4

1 回答 1

0

首先,$HTTP_POST_FILES已经被弃用了一段时间。改为使用$_FILES

其次,您声明了一个变量$ONFILE,但您没有在数组中引用它。

尝试删除引号($ONFILE而不是"$ONFILE"

于 2012-05-23T02:01:36.463 回答