• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 340
  • Last Modified:

CSS selector class to use an alternate image if another does not exist

I need the CSS selector class to check if an image exists, if it does NOT then use another image.

For example, if the image in path /images/SPANISH/submit.png exists then use /images/spanish/submit.png else use /images/ENGLISH/submit.png

Code base is PHP, Apache
0
pmsguy
Asked:
pmsguy
4 Solutions
 
Dave BaldwinFixer of ProblemsCommented:
CSS doesn't have any conditional programming statements in it.  Conditional statements for IE only work in the HTML file.
0
 
web2developerCommented:
Use php or javascript for conditional loop for image
0
 
Marco GasiFreelancerCommented:
In these cases you have to use php to check for files and write css statements inline.

<?php
    if (file_exists("path_to_your_first_file")){
        echo "<div id='whatbackground' style='background:url('path_to_your_second_file'>";
    }elseif (file_exists("path_to_your_first_file")){
        echo "<div id='whatbackground' style='background:url('path_to_your_second_file'>";
    }else{
        echo "<div id='whatbackground' style='background:transparent>";
    }
?>
your content here
</div>

If you prefer, you can check for files as shown above, but within head tag and include different css files accordingly with file_exists result.

Hope this helps
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
DesignbyonyxCommented:
You are better off having a single php file deliver your images, and you would call on it like so:

getfile.php?file=submit.png&lang=es

Then in php, you could check to see if the file exists:

(writing by hand... may not be correct, but should give you the right idea)
$file = $_GET["file"];
$lang = $_GET["lang"];
$defaultLang = "ENGLISH";

$dir = "";
$filePath = "";

switch($lang) {
    case "es":
        $dir = "SPANISH";
    case "en"
        $dir = "ENGLISH";
    default:
        $dir = $defaultLang;
}

$filePath = "/". $dir ."/". $file;
if( !file_exists($filePath) ) {
    $filePath = "/" . $defaultLang . "/" . $file;
}

// Load the file and stream it to the browser here.  
// Be sure to set the correct MIME type and such

Open in new window

0
 
Marco GasiFreelancerCommented:
Since your question seems to be related to a multi-language site, maybe you can consider interesting read this article:
http://www.experts-exchange.com/A_3674.html about "How To Implement a multi-language site/application".
Cheers
0
 
Marco GasiFreelancerCommented:
Have you solved your problem?

Regards
0
 
pmsguyAuthor Commented:
I am sure there is some dynamic CSS I can use to solve this issue
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now