加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP:从base64字符串中获取图像并将其存储在路径中

发布时间:2020-12-13 22:24:44 所属栏目:PHP教程 来源:网络整理
导读:这是 PHP函数,它将新数据添加到MySQL数据库中. **我想在Web服务器上传图像. ** public function addNewCategory($category_title,$strImage) { // get the image from the base64 string. $strImage = base64_decode($strImage); $image = imagecreatefromst
这是 PHP函数,它将新数据添加到MySQL数据库中.

**我想在Web服务器上传图像. **

public function addNewCategory($category_title,$strImage) {

    // get the image from the base64 string.
    $strImage = base64_decode($strImage);
    $image = imagecreatefromstring($strImage);
    if($image !== false) {
        header('Content-Type: image/png');
        imagepng($image);
        imagedestroy($image);
    }

    // set the path name of where the image is to be stored.
    $path = $_SERVER['SERVER_NAME']."/uploads/".$category_title.".png";

    // save the image in the path.
    file_put_contents($path,$image);

    // insert category and the image path into the MySQL database.
    $result = mysqli_query($this->db->connect(),"INSERT INTO category(category_title,path,created_at) VALUES ('$category_title','$path',NOW())");

    if ($result) {
        return mysqli_fetch_array($result);
    } else {
        return false;
    }
}

使用该函数,路径变量存储在数据库中,但图像实际上并未存储在路径中.上面的代码有什么问题?

编辑
我将路径名更改为$path = $_SERVER [‘SERVER_NAME’].“/ MyProject / uploads /”.$category_title.”.png“;.现在数据库中的路径值证明是我所期望的,但似乎图像本身并没有实际放入路径中.

我向数据库添加了一个新行,在浏览器中手动键入路径以检查我发送的图像是否正确存储在路径中,但Web服务器返回错误404.

解决方法

要在服务器上写入文件,您需要相对于服务器上的文件夹系统设置路径.要在数据库中存储数据,您需要指向图像的Web路径:

//__DIR__ - path to your current script folder
$server_path = __DIR__."/uploads/".$category_title.".png";

// save the image in the server path.
file_put_contents($server_path,$image);

//Web path to your image
$web_path = $_SERVER['SERVER_NAME']."/uploads/".$category_title.".png";

//Write to DB web path of the image
$result = mysqli_query($this->db->connect(),'$web_path',NOW())");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读