我在服务器上上传文件时遇到了问题。
我的代码:
$path = "produkty/$kategorie/$last_id/";
if(!is_dir($path)){
mkdir($path, 0777, true);
}
if (is_dir($path) && is_writable($path)) { echo "ok"; }
它回来了。
上传代码如下所示:
move_uploaded_file($_FILES["uvodniobr"]["tmp_name"], $path."uvodniobr.".$ext)
如果我回应:
echo $path."uvodniobr.".$ext;
它会返回: produkty / kategorie / 35 / uvodniobr.png
检查文件大小,扩展程序工作正常,它只是赢得了上传。 你知道我的代码有什么问题吗?谢谢
解决 编辑:我试图上传文件超过2MB而不改变xampp / php / php.ini upload_max_filesize = 2M中的php.ini。 谢谢你的回答。
答案 0 :(得分:1)
我说问题是因为你需要在move_uploaded_file中使用相对路径,而它需要绝对路径所以 您应该使用document_root来获取这样的绝对路径:
$target_path = $_SERVER['DOCUMENT_ROOT'] . '/' .$path; // if not work try $target_path = $_SERVER['DOCUMENT_ROOT'] . $path;
move_uploaded_file($_FILES["uvodniobr"]["tmp_name"],
$target_path."uvodniobr.".$ext);
最好用if检查结果来包围它
$target_path = $_SERVER['DOCUMENT_ROOT'] . '/' .$path; // if not work try $target_path = $_SERVER['DOCUMENT_ROOT'] . $path;
if (move_uploaded_file($_FILES["uvodniobr"]["tmp_name"],
$target_path."uvodniobr.".$ext)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
答案 1 :(得分:0)
这是我的错,我忘记在xampp / php / php.ini中将upload_max_filesize=2M
更改为upload_max_filesize=16M
我的不好,对不起,谢谢你的努力,我真的很感激。