我在数据库字段中有值,其名称后面有,
file.pdf,
。我试图用爆炸删除它,但当我尝试从数据库中的这一行读取并生成pdf时,我收到错误FPDF error: Unable to find pointer to xref table
如果我从phpmyadmin手动删除逗号,一切都很完美。这是我尝试爆炸的源代码片段......
foreach($files as $file) {
$sql = "SELECT file FROM documents WHERE id = :id";
$result = $pdo->prepare($sql);
$result->bindParam(":id", $file);
$result->execute();
$resArray = $result->fetchAll();
foreach ( $resArray as $res )
{
$items = explode(',', $res["file"]);
foreach ($items as $item) {
$pdf->addPDF($fileFolder.$item);
}
}
}
答案 0 :(得分:3)
这将删除每一个','。
b = np.copy(a)
b[~np.isnan(b)] = np.unwrap(b[~np.isnan(b)])
此处的文档: http://php.net/manual/es/function.rtrim.php
而不是:
$item = rtrim($res["file"], ",");
$pdf->addPDF($fileFolder.$item);
答案 1 :(得分:2)
此代码不会删除逗号,而是使用逗号作为分隔符将字符串拆分为多个部分。所以你有效地得到两个字符串:一个带有file.pdf
和一个空字符串(因为逗号之后的部分什么都没有),并且你使用foreach
迭代它们,所以你正在调用{{1}两次,一次空字符串(这可能是导致错误的原因)。
你需要的是:
addPDF
此处使用 rtrim
来明确删除尾随字符(此处为逗号)。
答案 2 :(得分:2)
使用rtrim($ res [“file”],“,”)删除最后一个逗号