azz
8 отговора
300 прегледа
azz
Sorry za typia vypros ama za men ne e typ
Kaka da napravia taka che ako imama <img> na site, no source ne syshtestvyva, nema go na servera, da ne pokazva tam grozen prazen kvedrat s niakyv list vytri ili kakvoto e tam
danke
Kaka da napravia taka che ako imama <img> na site, no source ne syshtestvyva, nema go na servera, da ne pokazva tam grozen prazen kvedrat s niakyv list vytri ili kakvoto e tam
danke
Re: azz
Ми с РНР (примерно).
<?php
$filename = '/path/to/your_image.gif';
if (file_exists($filename)) {
print "<img src=$filename>";
} else {
print "The file $filename does not exist or do not print anything.";
}
?>
Успех.
<?php
$filename = '/path/to/your_image.gif';
if (file_exists($filename)) {
print "<img src=$filename>";
} else {
print "The file $filename does not exist or do not print anything.";
}
?>
Успех.
Re: azz
Няма голям смисъл да се прави server side а може и със супер елементарен
скрипт например:
а иначе PHP-то така е малко по-добре ..
скрипт например:
<img src="picture.gif" style="visibility: hidden;" onload="this.style.visibility='visible';">
а иначе PHP-то така е малко по-добре ..
<?
/*
С тернарния оператор ще е по-удобно (според мен)
няма голяма разлика - просто пишеш по-малко ..
*/
$filename = '/path/to/your_image.gif';
$message=(file_exists($filename))?("<img src=".$filename.">"):("The file ".$filename." does not exist or do not print anything.");
echo $message;
?>
Re: azz
Не сме клуб за пхп, но все пак да те поправя:
$message=(is_file($filename))?("<img src=".$filename.">"):("The file ".$filename." does not exist or do not print anything.");
Иначе ако пътят случайно води до директория, пак ще се опита да покаже картинката. И от скобите няма нужда (щом ще пишем кратко
)
---
Priatelite.net
Uslugite.net
$message=(is_file($filename))?("<img src=".$filename.">"):("The file ".$filename." does not exist or do not print anything.");
Иначе ако пътят случайно води до директория, пак ще се опита да покаже картинката. И от скобите няма нужда (щом ще пишем кратко
---
Priatelite.net
Uslugite.net
Re: azz
Да, но при този супер елементарен onLoad "скрипт" нигде не се прави проверка аджеба има ли го файлa или не. И при onLoad ще се покаже едно голямо бяло петно ако файла го е хванала липсата... Което всъщност човека иска да избегне съгласно оргиналния пост.
Щом няма да е server side, нека е така:
imgFile = new File("/path/to/your_image.gif")
if (imgFile.exists() == true) {
document.write("<img src=\""+imgFile+"\"");
}
else {
document.write("The file does not exist or do not write anything");
}
Колкото до краткото писане, предпочитам кода да ми е четлив, а не кратък. Но това си е за клуб РНР, не за тук.
Успех.
Щом няма да е server side, нека е така:
imgFile = new File("/path/to/your_image.gif")
if (imgFile.exists() == true) {
document.write("<img src=\""+imgFile+"\"");
}
else {
document.write("The file does not exist or do not write anything");
}
Колкото до краткото писане, предпочитам кода да ми е четлив, а не кратък. Но това си е за клуб РНР, не за тук.
Успех.
събитието (event-a) onload
Значи събитието onload се случва "веднага след като браузера зареди обекта" в случая ако фаила "го няма" то просто няма да се случи и style="visibility: hidden;" просто ще остане приложено за елемента. Може да пробваш ако искаш. Пробвай това по-долу ако изображението го няма просто няма да има нищо на негово място .
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<title></title>
</head>
<body>
<img src="picture.gif" style="visibility: hidden;" onload="this.style.visibility='visible';" alt="picture">
</body>
</html>
Прав си обаче
НЕ съм ти прочел мнението внимателно - сорри . То че нищо няма да се покаже така е но няма да има "празен квадрат" :) Та в случая мисля че така ще "върши работа"
. Извинявам се в предишното мнение се изказвам малко "неподготвен" 
Re: Прав си обаче
Da mersi mnogo az go napravih pri onError="this.style.display='none'"
Samo che tova ima edin nedostatyk che pyrvo se poiaviava kvadrata i sled kato razbere che niama da go ogree e iz`ezva s onload e po adekvatno a varianta na mr.... e mnogo gotin sys onzi skript che ako go niama moje drugo da pokazva tova e hubavo, ne mi beshe hrumnalo kato ideia
Samo che tova ima edin nedostatyk che pyrvo se poiaviava kvadrata i sled kato razbere che niama da go ogree e iz`ezva s onload e po adekvatno a varianta na mr.... e mnogo gotin sys onzi skript che ako go niama moje drugo da pokazva tova e hubavo, ne mi beshe hrumnalo kato ideia
Re: Прав си обаче
Май и двамата сме в грешка - при мен обекта File не е като хората, правилното е така:
<script>
var img = new Image();
img.onload = function(){imageexists(true)}
img.onerror = function(){imageexists(false)}
img.src = "/path/to/image.gif";
function imageexists(exists) {
if(exists) document.write("<img src=\""+img.src+"\">");
else document.write("File does not exist.");
}
</script>
Това работи.
По-мързеливия вариант е просто:
<img src="/path/to/image.gif" width="100" height="100" alt="some text" onError="document.write('File does not exist.')">
При теб наистина картинката не се показва, но въпреки това браузъра заема място за картинката на страницата (когато в img src са зададени ширина и височина, както е нормално). И не е много гот (сложи картинка 500/500, след това текст и виж какво става).
Както и да е, дано съм (сме) помогнали.
Успех.
<script>
var img = new Image();
img.onload = function(){imageexists(true)}
img.onerror = function(){imageexists(false)}
img.src = "/path/to/image.gif";
function imageexists(exists) {
if(exists) document.write("<img src=\""+img.src+"\">");
else document.write("File does not exist.");
}
</script>
Това работи.
По-мързеливия вариант е просто:
<img src="/path/to/image.gif" width="100" height="100" alt="some text" onError="document.write('File does not exist.')">
При теб наистина картинката не се показва, но въпреки това браузъра заема място за картинката на страницата (когато в img src са зададени ширина и височина, както е нормално). И не е много гот (сложи картинка 500/500, след това текст и виж какво става).
Както и да е, дано съм (сме) помогнали.
Успех.
Редактирано от mr.vain на