- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚注册是因为我突然遇到了一个问题,目前为止运行良好的代码我之前在这里找到了一些非常好的答案。希望你们能再次帮助我,这次甚至是投票;)
$sql='SELECT projektKurz, projektTitelGer, projektTitelEng, projektTitelFr
FROM projects
WHERE PNO=?';
$statement=$mysqli->prepare($sql);
// FEHLERBEHANDLUNG
// var_dump($statement);
// echo "<br />";
// var_dump($mysqli->error);
$statement->bind_param("i", $PNO);
$statement->execute();
$statement->bind_result($projektKurz,$projektTitelGer,$projektTitelEng,$projektTitelFr);
$statement->fetch();
$statement->store_result();
$statement->free_result();
$report="";
$allowedExts = array("xls", "xlsx", "doc", "docx", "ppt", "pptx", "pdf", "zip", "rar", "gif", "jpeg", "jpg", "png", "bmp");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "application/vnd.ms-excel")
|| ($_FILES["file"]["type"] == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|| ($_FILES["file"]["type"] == "application/msword")
|| ($_FILES["file"]["type"] == "application/vnd.openxmlformats-officedocument.wordprocessingml.document")
|| ($_FILES["file"]["type"] == "application/vnd.ms-powerpoint")
|| ($_FILES["file"]["type"] == "application/vnd.openxmlformats-officedocument.presentationml.presentation")
|| ($_FILES["file"]["type"] == "application/pdf")
|| ($_FILES["file"]["type"] == "application/x-pdf")
|| ($_FILES["file"]["type"] == "application/acrobat")
|| ($_FILES["file"]["type"] == "application/vnd.pdf")
|| ($_FILES["file"]["type"] == "text/pdf")
|| ($_FILES["file"]["type"] == "text/x-pdf")
|| ($_FILES["file"]["type"] == "application/force-download")
|| ($_FILES["file"]["type"] == "application/x-octet-stream")
|| ($_FILES["file"]["type"] == "application/zip")
|| ($_FILES["file"]["type"] == "application/x-rar-compressed")
|| ($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/bmp"))
&& ($_FILES["file"]["size"] < 100000000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
$report .= "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
$report .= "Upload: " . $_FILES["file"]["name"] . "<br />
Type: " . $_FILES["file"]["type"] . "<br />
Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br />
Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("projekte/".$projektKurz."/" . $_FILES["file"]["name"]))
{
$report .= $_FILES["file"]["name"] . " existiert schon! ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"projekte/".$projektKurz."/" . $_FILES["file"]["name"]);
$report .= "Gespeichert unter: projekte/".$projektKurz."/" . $_FILES["file"]["name"];
}
}
}
else
{
$report .= "Ungueltige Datei!";
}
header("Location: projectupload.php?PNO=$PNO");
我已经使用这段代码大约 3 年了,没有任何问题。现在突然我上传有问题。 PDF 不再上传。图片有效,doc(旧版 MS Word)、docx、xlsx 也有效。
到目前为止,我已经设置了更高的权限 (777),为 pdf 添加了额外的 mime 类型(以前我只有 application/pdf)并尝试更改文件夹的所有者,但没有解决问题。
文件大小不是问题,我以前上传过 50 MB 的文件,现在连 44kb 的 pdf 文件都被拒绝了。
我也找不到可以在线解释此问题的 MIME 类型的任何最新更改。
我在使用 docx、xlsx 和 pptx 时遇到了同样的问题,但是一旦我插入了这些较新文档的 mime 类型,这个问题就得到了解决(即使它以前也适用于旧文档、xls 和 ppt 的 mime 类型) .
当我现在尝试上传 pdf 文件时,我被退回了:
Ungueltige Datei!
我没有想法,希望你们有更多的想法;)
更新 1:
按照建议,我已经激活了顶部的 var_dump,它让我得到了这个:
object(mysqli_stmt)#2 (10) { ["affected_rows"]=> int(0) ["insert_id"]=> int(0) ["num_rows"]=> int(0) ["param_count"]=> int(1) ["field_count"]=> int(4) ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["sqlstate"]=> string(5) "00000" ["id"]=> int(1) }
string(0) ""
最佳答案
很可能在这种情况下,$_FILES["file"]["type"] 的
值出于某种原因是一个空
字符串。
上传文件时,最好在一开始就检查错误 $_FILES["file"]["error"]
。如果其值等于 0
,则继续文件类型检查,否则返回相应的消息错误。
关于php - 突然 pdf 不再上传 (php/mysql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31875057/
我最近更新了 ADT 插件,我的整个 Eclipse-Android 构建系统都停止工作了。从那以后,我尝试了我在互联网上可以找到的所有关于如何解决这个问题的方法。徒然。如果有人有确定的方法来解决此问
我已经知道有类似的话题,但对我来说没有任何帮助...... 这里是信息: 该应用程序始终在模拟器和设备上运行。我最近将该项目重命名为另一个名称。仍然工作得很好。今天我意识到它没有更改文件夹名称,然后它
在装有El Capitan的MacMini上,我无法再进行冲泡了。我收到以下错误: /usr/local/Library/Homebrew/config.rb:34:in `initialize':
是的,所以我不知道发生了什么。我一直在编写一个 AJAX 评论脚本,并且它可以工作,但它不再工作了。我从备份中恢复了它,以防万一我改变了任何东西,但没有运气。它转到表单的“操作”而不是 jQuery,
请原谅我的无能...我正在尝试在全局 var 阶段不再未定义后使用 Proxy 执行一些代码。这是我天真的尝试: ``` var stage = undefined let myObj; let st
我对 segues 了解不多,但我已经开始工作了..但突然间它不再工作了...... 我的代码似乎可以工作,但没有发生 segue: NSLog(@"login started"); if ([use
我已将以下重写规则添加到我的 web.config 中。它运行良好,阻止了所有提及的推荐垃圾邮件站点。然而,今天我突然注意到 social-buttons.com 突然出现在我的 Google Ana
在 C++ 中,可以在翻译单元中使用 static 关键字来影响符号(变量或函数声明)的可见性。 在 n3092 中,这已被弃用: Annex D.2 [depr.static] The use of
升级到 com.crashlytics.sdk.android:crashlytics:2.7.1@aar 后(从 2.6.8 开始),我无法再在 Firebase 应用中禁用 Crashlytics
您好,我遇到了一些障碍,我一直在为我的应用程序重新设计菜单导航。我设法做到了。但现在我的应用程序的一项功能已决定停止运行。 想法是你摇动你的手机,它会随机选择一张图片,与应用程序分开的代码工作正常,就
我有一行(容器)包含三个元素,我想水平显示它们之间的间距相等(并且行的左侧或右侧没有空格)。我正在使用带有 justify-content:space-between 的 flexbox。 这是在 F
直到最近,我才能够在 Windows 上使用 python 3.6.7 时安装 tensorflow 1.5.0 包。现在我不能,从下面的“来自版本”的消息来看,似乎根本没有可用的 tensorflo
不确定是否与最近的更新有关,但我突然无法在 Android Studio 编辑器中获得单行间距。如果我尝试将它更改为 1,它让我设置它,但当我按下“应用”时,它会迅速恢复为 1.5。用不同的字体试过,
我遵循了有关如何在 macOS 上安装 pip 的在线说明(例如 this、this 和 this)。 我看起来很简单,但它不适合我。 我的 python --version 是 2.7.10。 当我
Due to rounding errors, most floating-point numbers end up being slightly imprecise. https://www.flo
我试图让用户从他们在 Android 上的库中选择一张图片。但是当我使用 PictureChooser 插件时,它似乎不再起作用了 我看到这段代码可以工作,但现在不行了,我也不知道为什么。
自 .NET 4.5 起,Exception.HResult 的 setter/getter 现在是 public,但它曾经是 protected。 来自 MSDN: Starting with th
今天去处理一个较旧的 Python2.7 AppEngine 标准项目,但我似乎无法让端点工作。我下载了示例代码,看看我的项目是否是罪魁祸首,但该示例也不起作用。 https://cloud.goog
我是一名优秀的程序员,十分优秀!