CodeIgniter Forums

Full Version: [solved] accessing images in the view (strange behaviour)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

El Forum

[eluser]Unknown[/eluser]
Hello everyone,

Long time reader, first time poster. I've got a very strange problem. Maybe you can help.

In a view I try to load a file (previously uploaded). I check if it exists first and if it does I then display it. Check the code.

Code:
<?php if (file_exists(base_url() . 'img/image.jpg')) : ?>
    <img src="&lt;?php echo base_url() . 'img/image.jpg'; ?&gt;" />
&lt;?php endif ; ?&gt;

The problem is that the file_exists() function always returns FALSE even if I know for sure that given file does exist. For example this:

Code:
&lt;?php if (file_exists(base_url() . 'img/image.jpg')) : ?&gt;
    <h2>file found:</h2>
    <img src="&lt;?php echo base_url() . 'img/image.jpg'; ?&gt;" />
&lt;?php else : ?&gt;
    <h2>file NOT found:</h2>
    <img src="&lt;?php echo base_url() . 'img/image.jpg'; ?&gt;" />
&lt;?php endif ; ?&gt;

will display "file NOT found:" and draw the image anyway. I'm confused, please help. The /img/ catalog is already added to my .htaccess file.

El Forum

[eluser]BrianDHall[/eluser]
Your problem is with file_exists(): http://php.net/manual/en/function.file-exists.php

It expects a relative path to the file on your system, not an HTTP:// style url - which is what base_url is giving you.

I believe you can try getting rid of the base_url portion and just feed it the image path of img/image.jpg, as it is all relative to the front-controller index.php file unless specified otherwise.

El Forum

[eluser]Unknown[/eluser]
Thank you, works like a charm.