ShamY
27.03.2014, 14:38:47
Witam, nie wiedziałem jak nazwac dokładnie temat, wiec opisze sprawe dokladniej.
szukam dość prostego skryptu, który będzie wyświetlał żdjęcia na dzisiejszy i jutrzejszy dzień, zdjęcie na serwerze będzie w formacie DDMMYYYY i jesli z tym nie ma problemu to nie mam pojęcia jak napisać część że jak tego pliku np. 27032014.png nie będzie na serwerze, to wyświetli się grafika o nazwie "brak.jpg"
Ktoś by wiedział jak to wykonać lub znaleźć gotowy? Ja szuałem, ale niestety nic.
trueblue
27.03.2014, 17:09:52
ShamY
27.03.2014, 17:25:44
$filename = '/path/to/foo.txt';
echo "The file $filename exists"; } else {
echo "The file $filename does not exist";
Filename mam podać ściżzke do pliku? Np: "adres/images/folder/<?php echo date("Ymd");?>.png"
trueblue
27.03.2014, 17:30:03
Tak, ale:
$filename="adres/images/folder/".date("Ymd").".png";
ShamY
27.03.2014, 17:42:37
<?php
$filename="/images/folder/".date("Ymd").".png";
echo '<img src="$filename">'; } else {
echo '<img src="/images/folder/brak.png">'; }
?>
mam tak i wyswietla się tylko "brak.png" pomimo iż na serwerze jest plik o nazwie "20140327.png"
trueblue
27.03.2014, 18:39:23
A ścieżka do tego pliku na pewno jest poprawna (względem pliku php)?
ShamY
27.03.2014, 18:44:10
Gdy linijkę 5 przekopiuję na 7 to działa więc wychodzi na to, że file_exists zwraca że takiego pliku niema.
trueblue
27.03.2014, 18:48:15
Sprawdź czy masz wyłączone safe_mode na serwerze.
ShamY
27.03.2014, 18:49:42
trueblue
27.03.2014, 18:54:46
Masz wyłączone, bo false.
Włącz.
Pracujesz na localhost, czy zdalnym serwerze?
ShamY
27.03.2014, 18:55:58
Na cba.pl, jak mam to zrobić?
trueblue
27.03.2014, 19:05:34
Na początku kodu PHP:
lub w pliku php.ini umieszczonym na serwerze:
safe_mode = On
Ale nie wiem czy to zadziała.
ShamY
27.03.2014, 19:08:46
Niestety, jedno, ani drugie nie działa... Jest jakiś inny sposób?
trueblue
27.03.2014, 19:09:49
Pisać od adminów cba.
ShamY
27.03.2014, 19:12:43
No ale oprócz tego? Jakaś okrężna droga na umieszczanie tego obrazka?
trueblue
27.03.2014, 19:16:33
ShamY
27.03.2014, 19:23:57
Nie bardzo rozumiem
}
echo '<img src="$filename">'; } else {
echo '<img src="/images/folder/brak.png">'; }
tak?
trueblue
27.03.2014, 19:28:54
Nie. Podałem przykład z funkcją is_file()
ShamY
27.03.2014, 19:33:01
Przy
echo '<img src="$filename">'; } else {
echo '<img src="/images/folder/brak.png">'; }
też wyświetla się "brak".
trueblue
27.03.2014, 19:36:23
A tak?
$filename="/images/folder/".date("Ymd").".png"; echo '<img src="$filename">'; } else {
echo '<img src="/images/folder/brak.png">'; }
ShamY
27.03.2014, 19:39:18
Jest :"brak.png" ale jak przekopiowalem linijkę z 4 na 6 to w pasku adresu jest: "adres strony/$filename"
IProSoft
27.03.2014, 19:48:06
Zamiast:
echo '<img src="$filename">';
wstaw
echo '<img src="' . $filename . '">';
ShamY
27.03.2014, 19:52:36
Teraz filename dobrze się wyświetla, ale jak jest na swoich miejscach to nadal źle...
trueblue
27.03.2014, 19:58:50
Na pewno 20140327.png leży w tym samym miejscu co brak.png?
Czy rozszerzenie nie zawiera wielkich liter?
ShamY
27.03.2014, 20:03:22
Tak w tym samym miejscu są

w całej scieżce do obu plików są małe litery.
trueblue
27.03.2014, 20:09:24
$filename="/images/folder/".date("Ymd").".png"; echo "<img src=\"".$filename."\">"; } else {
echo '<img src="/images/folder/brak.png">'; }
Może tak, choć bardzo brzydkie rozwiązanie:)
ShamY
27.03.2014, 20:14:45
Niestety, po zamianie linijek działa, a przed nie...
trueblue
27.03.2014, 20:20:44
Po zamianie linijek 3 i 5?
Zerknij, bo wcześniej pomyliłem warunek, później zmieniłem.
ShamY
27.03.2014, 20:38:47
Teraz zrobilem jeszcze raz i nadal to samo. Przy zmianie 3 na 5 wyświetla się grafika 20140327.png...
Zmieniłem na:
<?php
$filename="http://adres/images/folder/".date("Ymd").".png"; echo '<img src="http://adres/images/folder/".date("Ymd").".png">'; } else {
echo '<img src="http://adres/images/folder/brak.png">'; }
?>
to wyświetla się taki mniejszy obrazek z ikonką zlamanej fotki i jego adres to: "http://adres/images/folder/", czyli teraz nie czyta ".date("Ymd")." w img src.
trueblue
27.03.2014, 20:42:09
echo '<img src="http://adres/images/folder/"'.date("Ymd").'".png">';
ShamY
27.03.2014, 20:48:31
Ehh, chyba moja radość była przedwczesna, nadal nie chce samo się rozkodować "Ymd" i jest obrazek z ikonką złamanej fotki.
IProSoft
27.03.2014, 21:02:32
Co wyświetli Ci kod:
echo '/images/folder/'.date("Ymd").'.png';
?
ShamY
27.03.2014, 21:25:39
No wyświetla ścieżke do pliku...
Działa, ale gdy nazwa pliku jest np. 20140330.png to wyświetla ja mimo iż powinno być wyświetlane na dzień 27
Turson
27.03.2014, 21:47:50
Jeżeli
pokazuje ci inny dzień, to widocznie czas serwera jest zły
ShamY
27.03.2014, 22:00:34
Jak zmieniam nazwę pliku na 28, 29 czy inne z dwadzieścia to jest to samo czyli czas serwera jest ok
IProSoft
27.03.2014, 22:55:39
Napisz co wyświetla Ci :
Dokładnie co wyświetla, a nie co się dzieje jako coś tam zmienisz..
ShamY
27.03.2014, 23:48:29
Wyświetla się dzisiejsza data (20140327)
Działa!
Dodałem -1 przed końcówką png i teraz wyświetla dobry obrazek

Dzięki wszystkim za pomoc, każdemu leci pomógł
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.