无法在codeigniter中显示图像

时间:2015-11-28 07:58:54

标签: image codeigniter path

实际上,在我的本地主机中,我的网站运行没有任何问题。

然而,在生活服务器中,存在显示图像的一些问题。

如果我将图像放在网络根目录中,则可以在网络中显示图像。但如果我将图像放入文件夹,则无法显示图像。

示例:

import asyncio


class Sheep:
    _sem = asyncio.Semaphore(2)  # we have 2 avaliable sheeps at time

    def __init__(self, reason):
        self._reason = reason

    async def acquire(self):
        await type(self)._sem.acquire()
        print('acquire sheep ({})'.format(self._reason))

    def release(self):
        print('release sheep ({})'.format(self._reason))
        type(self)._sem.release()


class Gate:
    _sem = asyncio.Semaphore(1)  # we have 1 avaliable gate at time

    def __init__(self, reason):
        self._reason = reason

    async def acquire(self):
        await type(self)._sem.acquire()
        print('acquire gate ({})'.format(self._reason))

    def release(self):
        print('release gate ({})'.format(self._reason))
        type(self)._sem.release()


async def spend(reason):
    sheep = Sheep(reason)
    gate = Gate(reason)
    await asyncio.gather(
        sheep.acquire(), 
        gate.acquire()
    )  # block 1 sheep, 1 gate
    await asyncio.sleep(1)  # 1 second
    print('Spend sheep through a gate')
    sheep.release()
    gate.release()


async def feed(reason):
    sheep = Sheep(reason)
    await  asyncio.gather(
        sheep.acquire()
    )  # block 1 sheep
    await asyncio.sleep(2)  # 2 seconds
    print('Feed sheep')
    sheep.release()


async def main():
    await asyncio.gather(
        spend('spend 1'),
        feed('feed 1'),
        spend('spend 2')
    )  # spend 2 times, feed 1 time


if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

如果我直接点击链接:

  

http://website/post/1/1.jpg

这将是错误403.如下:

  

禁止

     

您无权访问此服务器上的/post/1/1.jpg。       服务器无法读取htaccess文件,拒绝访问是安全的

此外,尝试使用ErrorDocument处理请求时遇到403 Forbidden错误。

发现一些提示:

如果我将所有文件放入web根目录,包括codeigniter框架本身。 网站运行没有任何问题。

但是,这不是好习惯。实际上,我想将codeigniter框架放在Web根目录之外。

2 个答案:

答案 0 :(得分:0)

通过Filezila或任何其他程序打开您的FTP。导航到您的根文件夹并找到文件夹/发布/右键单击它并更改选择文件权限...将其更改为755并在浏览器中重新查看图像。

答案 1 :(得分:0)

感谢所有回复。

我找到了解决方案。

1)codeigniter框架可以在不改变.htaccess文件的情况下放置在web根目录之外。

2)图像文件夹应放在网络根目录下。

3)确保图像文件夹是755/777文件权限。