我不知道这是与代码有关还是与服务器有关...
在一个PHP页面上,我调用了一个包含标准PHP上传过程的上传函数。在调用函数之后,我执行重定向(尝试使用window.location或header())。
奇怪的是,每件事都运行良好的几次,然后它就不会再上传了(uploadOK也不会是0)。它不会将文件移动到服务器上。
然后,我将取出重定向,上传将重新开始工作。我把重定向放回去,上传还能工作几次,然后再停止....你知道为什么吗?
另一个奇怪的地方是,即使在不工作的情况下,上传函数仍然返回正确的路径+文件名,但不会回显“文件...已上传”。
我怀疑问题可能出在move_uploaded_file()函数中...但它不会返回0,因为“错误...”不会得到回应。
上传后不需要调用重定向,它每次上传都很好。
PHP页面:
$_SESSION["temp_file_name"]="../".UploadFisier($_FILES["fileToUpload"], $_SESSION["ID_CLASA"]."_".$id_item."_temp_".UserIdLogat($dbocr)."_", "../teme/", "");
header("Location: trimite_tema_script.php");
上传功能:
function UploadFisier($file, $sufix, $target_dir, $maxsize)
{
if ($maxsize=="") { $maxsize=3000000; }
if ($target_dir=="") { $target_dir="../upload/"; }
$target_empty_file=$target_dir.$sufix;
$target_file = $target_empty_file.basename($file["name"]);
$uploadOk = 1;
if ($target_file != $target_empty_file)
{
if ($file["size"] > $maxsize)
{
echo "file too large";
$uploadOk = 0;
}
}
else
{
echo "no file selectec.";
$uploadOk = 0;
}
if ($uploadOk == 1)
{
//we overwrite
if (file_exists($target_file))
{
unlink($target_file);
}
if (move_uploaded_file($file["tmp_name"], $target_file))
{
echo "File ". basename( $file["name"]). " was uploaded.";
//we output the path and filename without the "../" at the beginning
$linksave=substr($target_file, 3);
}
else
{
echo "Error....";
}
}
echo "uploadOk ".$uploadOk;
return $linksave;
}
在代码中包装try/catch。也许你会发现更多关于错误的信息。
function UploadFisier($file, $sufix, $target_dir, $maxsize)
{
try {
// your code
} catch (\Exception $e) {
echo $e->getMessage();
die();
}
}
检查php.ini中的file_uploads值并确认如下所示
file_uploads = On
问题内容: 我在Windows 7计算机上安装了WampServer 2。我正在使用Apache 2.2.11和PHP 5.2.11。当我尝试从表单上传任何文件时,似乎都在上传,但是在PHP中,数组为空。文件夹中没有文件。我已配置为允许文件上传等。该文件夹具有当前用户的读/写特权。我很沮丧 HTML: PHP: 问题答案: 谢谢大家的全面答复。这些都非常有帮助。答案很奇怪。事实证明,PHP 5.2
问题内容: 经过一整天的研究和尝试,我终于放弃了 纯AJAX的 上传文件(ps:本文如何与JQuery异步上传文件?埋了我的最后希望) 我的问题可能没什么意义,但是我仍然想知道为什么ajax(或XMLHttpRequest)不能处理这个问题?为什么文件不能像真正的httprequest那样传输? 问题答案: 出于安全原因,JavaScript无法读取本地文件,因此我们无法使用AJAX发送数据。 但
我使用dropwizard制作了一个非常传统的文件上传方法。 所以我在资源中有一个这样的方法 里面没有什么特别的,它只是保存到一个路径,使用java.nio库,就像这样 它只是不会上传excel文件。我在其他地方读到excel文件和它们的底层类型受到怀疑。请问我需要做什么?
本文向大家介绍php上传文件问题汇总,包括了php上传文件问题汇总的使用技巧和注意事项,需要的朋友参考一下 1.先做个最简单的上传文件 2.然后了解超级全局变量$_FILES的值 其中,$_FILES['userfile']['error']的所有值: UPLOAD_ERR_OK 其值为 0,没有错误发生,文件上传成功。 UPLOAD_ERR_INI_SIZE 其值为 1,上传的文件超过了 php
问题内容: 我正在尝试一个需要Facebook用户提供一些信息的网站,正在使用PHP和JS SDK。 我在PHP中有一个功能: 在一个类中,该类包含来自SDK的facebook对象。 然后在一个块上,我这样做: FB JS环境已正确设置(我认为),因此可以正常工作。因此,用户会弹出窗口并授权该站点。 问题是即使用户授权了该应用程序之后,$ user也始终为0,这意味着始终返回0,然后列出用户(包括
本文向大家介绍php上传文件常见问题总结,包括了php上传文件常见问题总结的使用技巧和注意事项,需要的朋友参考一下 把php上传文件时经常碰到的几个问题总结一下吧,以后用到时不用再去找了。 1.先做个最简单的上传文件 2.然后了解超级全局变量$_FILES的值 其中,$_FILES['userfile']['error']的所有值: UPLOAD_ERR_OK 其值为 0,没有错误发生,文件上传成