Quote:
Originally Posted by arch13
Nope
I see two problems going on here, and I'm trying to see how we can fix them.
The first is actually straight foreward, but I almost didn't spot it.
We can't have $base= "brewery_"; like I suggested. It needs to be just "brewery" since the base statment is also used for finding the paths.
|
Which paths?
I see the folllowing path info needed at some point:
- the path to the images (in brewery.php), this is set via the constant. $base, has no influence on that
- the path to brewery.php (in index.php), this is built out of $id= $_REQUEST['id'], $base has got nothing to do with it.
- the actual filename of the image. $base is used here, but not for the path, only for the image name. IMAGE_FS_PATH and IMAGE_WWW_PATH are used to get the directory structure.
So we build the full image path/name out of the following compontents:
constant: IMAGE_FS_PATH (= '/imgs/')
variable: $base (='brewery_')
variable: $id (='1');
string: '.jpg'
concatenating to: '/imgs/brewery_1.jpg' right?
Quote:
Originally Posted by arch13
Throwing in the underscore to makes the images work but makes the file paths not work.
Perhaps
file_exists(IMAGE_FS_PATH.$base._$id.'jpg';
But that screws up the code (I tried it).
|
Not a bad idea, but: the underscore is a seperate string. so put quotes(') around it, and concatenate it with dots (.), like so:
file_exists(IMAGE_FS_PATH.$base.'_'.$id.'jpg';
(but this is not necessary now, as $base can just contain the underscore)
Quote:
Originally Posted by arch13
Honestly, It's simplest for me to just change the image names to brewery1.jpg, since that should make the code work. I'll try it right now before continuing this post...
Nope
|
I think this may have to do with the path setting.
Try setting IMAGE_FS_PATH to the real filesystem path. (i.e. /var/www/etc)
this is needed on my setup, but it could very well different on yours.
Quote:
Originally Posted by arch13
I set
PHP Code:
<?php
define ('IMAGE_FS_PATH', '/img/'); //this should be the full filesystem path to your images
define ('IMAGE_WWW_PATH', 'img/'); //this should be the path relative to the URL. (so it will expand to http://www.arch13.com/img/ etc)
?>
Before the body html in index.php right under my javascripts, is that an okay position?
|
As long as it is before you include files (brewery.php needs those 2 definitions).
I usually put them at the very top of my php files, as a sort of initialization. But so long as they're defined before they're used, it's fine
Quote:
Originally Posted by arch13
The system path is correct, as the php install is supposed to see my / as the root and works in all instances I've used it as such. It's not parse erroring, brewery_test is, so I assume it's working fine.
|
parse errors only mean that the syntax is wrong, it does not say anything about the values (in this case system paths) of variables.
I'm not sure what you mean by 'supposed to see my / as the root'.
Try setting IMAGE_FS_PATH to the FULL system path '/var/www/htdocs/whatever/' and set IMAGE_WWW_PATH to 'img/' (in the define statements in index.php)
(include the trailing slash on both constants)
Post the contents of index.php and brewery.php again, and any parse errors you got but couldn't fix. I think we're down to a few typos here or there.
(mainly in the paths or image names)
Btw: I see a
unexpected T_CONSTANT_ENCAPSED_STRING error on your test page, check the line (53) for unmatched quotes (' or ") or a missing semi-colon( ; ) the semi-colon could also be missing on line 52.
Another note: the code above should be outputting HTML looking for images in
http://www.arch13.com/imgs/brewery_1.jpg (and so on).
But looking for that URL gives me 404 errors. If the above URL should be correct, you might need to fix that first. If this URL to the image is not supposed to be correct, the code above needs fixing
