在CodeIgniter中将用户上传的图像保存在哪里?

tzcvj98z  于 2023-02-01  发布在  其他
关注(0)|答案(2)|浏览(156)

我想做的是让用户保存一个图像,当他们访问他们的帐户时,我希望图像显示。
1.我目前正在将图像保存在public文件夹中
1.存储数据库的路径路径:css\img\myPic.jpg
1.显示图像
〈img class=“边框”源代码='esc($空信息[' img '])'样式=“高度:200 px;宽度:200像素”〉
但由于这是公用文件夹,我无法在此文件夹中保存个人图片
我还尝试将路径保存到writable\uploads\myPic.jpg,但没有成功

xpcnnkqh

xpcnnkqh1#

如果你想找一本手册或一个概念,你也可以试试这个:
1.你必须有一些文件夹,你存储所有的个人图像
1.当用户需要时,使用随机生成的32个字符的名称(GUID类型)但使用原始扩展名将文件复制到公用文件夹。
1.然后在视图中将其提供给用户。
1.调用视图后显示图像后,可以从该文件夹中删除图像。

aelbi1ox

aelbi1ox2#

到目前为止,我得到的解决方案是使用发布库将文件(在我的情况下是一个图像文件)从可写/上传"复制"到公共。

$publisher = new Publisher(WRITEPATH . 'uploads', FCPATH. 'img/');
    $publisher->addPaths([
        'img/myPic.jpg',
    ]);
    $publisher->copy(true); // `true` to enable overwrite
  • 源路径:WRITEPATH.'上载'
  • 目标路径:FCPATH.'img/'
  • 源文件:img/myPic.jpg

现在您可以在img标签中引用图像。
下一步应该是更换/删除后使用的图像,因为这是不会有什么不同,当你上传的图像在公共文件夹。将尝试更新,如果我找到了解决方案
来源:https://codeigniter.com/user_guide/libraries/publisher.html
PS.请随意纠正我:)总的来说,我对Web开发也是新手
第二部分:我把这个添加到我的函数中。它所做的是在将图像复制到公共文件夹后,我重命名为"myPic.jpg"。这将解决我以前的问题"使用后替换/删除图像"。

$renameFile = rename(FCPATH. 'img/'.$fileName, FCPATH . 'img/'. 'myPic.jpg');
    if($renameFile){
        return true;
    }
    else{
        return false;
    }

相关问题