【发布时间】:2015-10-06 11:19:06
【问题描述】:
我正在尝试将图像上传到数据库并将它们保存在 uploads/userimage 中,以便可以在网站上显示图像。但是我的问题是图像没有保存在我的目录中:uploads/userimage。
session_start();
include("functions/phpthumb/dbup.php");
$id = $_SESSION['werknemerid'];
// upload picture
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_SESSION['werknemerid'] != null){
if(!empty($_FILES["image"]["tmp_name"])) {
// set default variables
$image_folder = "../uploads/userimage";
$image_tmp = $_FILES["image"]["tmp_name"];
$image_ext = pathinfo($_FILES["image"]['name'], PATHINFO_EXTENSION);
$image_name = $_SESSION['voornaam']."".$_SESSION["tussenvoegsel"]."".$_SESSION['achternaam'].".".$image_ext;
// move the uploaded file
if(move_uploaded_file($image_tmp, $image_folder."/".$image_name)) // I think the problem is somewhere in this if statement
{
// load PHPThumb library
require_once("functions/phpthumb/ThumbLib.inc.php");
// create new thumbnail
$thumb = PhpThumbFactory::create($image_folder . "/" . $image_name);
$thumb->adaptiveResize(80,80);
$thumb->save($image_folder . "/" . $image_name);
}
$query = "UPDATE werknemer SET image = ? WHERE werknemerID = ?";
execSQL($query, array("si", $image_name, $id), true);
echo "<script>alert('Uw afbeelding is gewijzigd!');</script>";
echo "<meta http-equiv='refresh' content='0; url=mijnaccount' />";
}
}
}
// get image from database
if ($_SESSION['werknemerid'] != null){
$pagina_query = "SELECT image FROM werknemer WHERE werknemerID = ?";
$pagina_result = execSQL($pagina_query, array("i", $id), false);
$pagina_row = $pagina_result[0];
$_SESSION["image"] = $pagina_row[image];
}
我不知道我做错了什么...... :(
有人可以帮忙吗?
【问题讨论】:
-
检查你上传的文件夹路径
-
确保“网络用户”对该文件夹有足够的写入权限。
-
@Prafulla 上传的文件夹路径不错。
-
var_dump($_FILES);这说明了什么? -
将错误报告添加到文件顶部,紧跟在打开 PHP 标记之后,例如
<?php error_reporting(E_ALL); ini_set('display_errors', 1);,然后是其余代码,以查看它是否产生任何结果。如前所述,检查该文件夹具有的权限。它应该是 755,或者作为“最后的手段”,777。