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 に答える