Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: \Otwieranie innego nowego okna
Forum PHP.pl > Forum > Gotowe rozwiązania
polo36
Mam taki skrypt smile.gifw Head
Kod
<SCRIPT language=JavaScript>

nereidFadeObjects = new Object();

nereidFadeTimers = new Object();



function nereidFade(object, destOp, rate, delta){

if (!document.all)

return

if (object != "[object]"){

setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);

return;

}



clearTimeout(nereidFadeTimers[object.sourceIndex]);



diff = destOp-object.filters.alpha.opacity;

direction = 1;

if (object.filters.alpha.opacity > destOp){

direction = -1;

}

delta=Math.min(direction*diff,delta);

object.filters.alpha.opacity+=direction*delta;



if (object.filters.alpha.opacity != destOp){

nereidFadeObjects[object.sourceIndex]=object;

nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);

}

}



</SCRIPT>

w BODY
Kod
<center>

                <a href="tuning/tuning/1.jpg" target="_blank"><img src="tuning/tuning/1.jpg" width="120" height="130" alt="Kliknij aby powiekszyc" border="0" onMouseOut=nereidFade(this,50,50,5) onMouseOver=nereidFade(this,100,30,5) style="FILTER: alpha(opacity=50)"></a>

                </center>


Skrypt powoduje ze grafika o nazwie 1.jpg jest przyciemniona i ponajechaniu na nia myszka sie rozjasnia i to działa biggrin.gif
Ale mam problem bo po kliknieciu na dana grafike otwiera sie ona w nowym oknie ale nowo otwarta strona z powiekszona grafika niestety ma standardowy kolor biały czy da sie zrobic zeby miała kolor czasrny i ewentualnie jakis napis ?
Ace
w swojej galerii zrobilem cos takiego, ze po kliknienciu nie przekierowuje ciebie do pliku graficznego, tylko do strony html, ktora pobiera z parametru nazwe pliku, otwiera go, sprawdza jego rozmiary i wtedy w tym dokumencie html wstawiam obrazej <img src=...>, dowolnie mozesz edytowac ten plik html, dodawac do niego napisy itp... ja tak sobie poradzilem z tym problemem
polo36
a jak to zrobiles chodzi mi ze pobiera informacje o pliku ?
ogulnie mugłbys mi pomuc od poczatku ? i wyjasnic co i jak ?
Ace
$imagedata = getimagesize($sciezka);
w $imagedata masz dane dotyczace pliku, tzn szerokosc, wysokosc, typ [ jpg,gif,png ]

a w
<a href="tuning/tuning/1.jpg" masz sciezke pliku...
wiec

tworzysz np: plik fotka.php a w nim cos w stylu

[php:1:7ea1a6d185]<?php
$imagedata = getimagesize($sciezka);
echo '<img '.$imgadata[3].'src='.$sciezka.'>';
?>[/php:1:7ea1a6d185]

to jest wstawka php w pliku fotka.php... czyli miejsce gdzie ma sie pokazac fotka
$imagedata[3] = zwraca wartosc dla html np: width="960" height="1280"
czyli od razu jest obrazek o wymiarach jakie powinien miec...
a tylko link nie wyglada <a href="tuning/tuning/1.jpg" tylko
<a href="fotka.php?sciezka=tuning/tuning/1.jpg"

skrypt pisalem na poczekaniu, ale logika jest taka jak na mojej stronie... strone fotka.php dowolnie modyfikujesz, kolori itp - bo to zwykly html, ze wstawka w php...

o to chodzilo ?
polo36
tak pomogłes i jestem wdzieczny przetestuje i zobaczem czyz działa smile.gif
polo36
cos niedziała wystepuje bład :
Kod
Notice: Undefined variable: sciezka in c:serwerapachehtdocstatuazefotka.php on line 12



Notice: Undefined variable: imgadata in c:serwerapachehtdocstatuazefotka.php on line 13



Notice: Undefined variable: sciezka in c:serwerapachehtdocstatuazefotka.php on line 13

te pliki to :
Kod
<?php

$imagedata = getimagesize($sciezka);

echo '<img '.$imgadata[3].'src='.$sciezka.'>';

?>
niewiem czy czegos nie dopisałem ?
Ace
$imagedata = getimagesize($sciezka);
echo '<img '.$imgadata[3].'src='.$sciezka.'>';

na pierwszy rzut oka -> literowka... przez pospiech...
$imagedata[3] powinno byc...

hm... nie wiem co moze byc zlego w tym, moze wklej calosc strony, ale popraw ta literowke wczesniej. Ewentualnie moze wartosc $imagedata[3]... ale chyba nie, bo zwraca wysokosc i szerokosc ... sprawdz to ze zmieniana literowka, i ewentualnie jak nie zadziala to wklej kod caly strony, to zobacze. Sprawdz jeszcze czy przechodzi tobie odpowiednio sciezka pliku w zmiennej sciezka, i czy ja widzi w skrypcie

[edit]
a moze zamiast getimagesize($sciezka);
powinno byc
getimagesize($_GET['sciezka']);
winksmiley.jpg jesli nie masz Globals on...
polo36
w teori działa smile.gif ale jak daje taki kod :
Kod
     <a href="fotka.php?sciezka=tuning/tuning/1.jpg"><img src="tuning/tuning/1.jpg" width="120" height="130" alt="Kliknij aby powiekszyc" border="0"></A>

i zdjecie jest wyswietlane ale jak sie wejdzie w to zdjecie
to wyswietla mi czarne tło i pusta ramke bez zdjecia smile.gif
Ace
hm a jaki jest twoj plik fotka.php ? wyswietl go... jezeli nie wyswietla sie zdjecie, to pewnie plik nie istnieje, lub sciezka do pliku jest zla... musisz sprawdzic jeszcze czy zmienna sciezka istnieje w pliku fotka.php
polo36
Ok juz działa biggrin.gif ale mam pytanie smile.gif
Jak zrobic aby w pliku fotka.php było na dole menu a w nim :
<<WSTECZ | WYŁACZ | DALEJ >>
tak zeby wstecz to byłe wczesniejsze zdjecie z katalogu
wyłacz to wyłacza okno (niemusi tak byc bo sam to zrobie)
dalej to było kolejne zdjecie
i teraz zdjecie 1.jpg to nasze zdjecie a jak klikne wstecz pokaze mi 0.jpg a na zero wstecz zniknie i
jak klikne dalej to pokaze mi 2.jpg i pokoleji do 3 ,4 ,5 ... asz do konca ?
Ace
więc... jeśli ścieżka to...
tuning/tuning/1.jpg
to musisz wydobyć tą liczbe 1...
możesz to zrobić poprzez funkcję explode, lub możesz pobawic się wyrażeniami regularnymi...
albo w dodatkowej zmiennej przekarzesz sobie numer fotki
i wtedy...
[php:1:69a97169e1]<?php
$wczesniej = $liczba -1;
$pozniej = $liczba+1;
if ( file_exists($wczesniej.'.jpg') )
echo '<< Poprzednie zdjęcie';
if ( file_exists($pozniej.'.jpg') )
echo 'Następne zdjęcie >>';
?>[/php:1:69a97169e1]

funkcja file_exists sprawdza czy plik istnieje... jesli istnieje to wyswietla sie link - jesli nie, to nie ;] musisz tylko odpowiednio zmodyfikowac tez mienne podawane do file_exists, tzn, sciezke i nazwe pliku z rozszerzeniem.. powinno byc ok...
polo36
czyli jak mam zmienic to w pliku fotka.php questionmark.gif :
[php:1:9fd321416a]<?php
<?php
$imagedata = getimagesize($sciezka);
echo '<img '.$imagedata[3].'src='.$sciezka.'>';
?>
?>[/php:1:9fd321416a]
Ace
[php:1:3548ee2bcd]<?php
$imagedata = getimagesize($sciezka);
echo '<img '.$imagedata[3].'src='.$sciezka.'>';
$tablica = explode('/',$plik);
$tablica2 = explode('.',$tablica[2]);
$liczba = $tablica2[0];$wczesniej = $liczba -1;
$pozniej = $liczba+1;
if ( file_exists($wczesniej.'.jpg') )
echo '<< Poprzednie zdjęcie';
if ( file_exists($pozniej.'.jpg') )
echo 'Następne zdjęcie >>';
?>[/php:1:3548ee2bcd]

cos w tym stylu bym proponowal, ale dziala jesli sciezka do pliku jest w postaci
jakiskatalog/jakispodkatalog/liczba.rozszerzenie
pisalem na poczekaniu skrypt, nie sprawdzalem czy dziala...
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.