Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] rozdzielczosc i typy zmiennych
Forum PHP.pl > Forum > Przedszkole
Leeddo
witam
generalnie to chce odczytac rozdzielczosc bez przechodzenia na inne strony, ustawiania ciasteczek itd.
probowalem takim kodem:

  1. <?php
  2. echo $w1 =( "<script>document.write(screen.width)</script>"); // 1280
  3. settype($w1, "int"); 
  4. var_dump($w1); // int(0)
  5. echo '<br />'.$wyn = $w1/2; // 0
  6. ?>


dziala tak sobie. wprawdzie dostaje rozdzielczosc ale dalej nie wiem co z tym zrobic, tak zeby nie zwracalo mi 0 przy dzieleniu - prosze o rady.
ayeo
JS działa w przeglądarce! A PHP na serwerze! Nie da się wysłać rozdzielczości bez przeładowania strony! Chyba, że AJAX, ale to bez sensu... (w tym wypadku oczywiście)
mike
~Leeddo co chcesz zrobić z tymi informacjami?
Jeśli chcesz je gdzieś zapisać i tyle bo to wbrew temu co tu wykrzykuje ~ayeo bezproblemowo można to zrobić.
Gorzej jeśli chcesz tych danych użyć do czegoś co później będzie miało wpływ na widok.
ayeo
Cytat(mike @ 16.12.2007, 20:26:36 ) *
~Leeddo co chcesz zrobić z tymi informacjami?
Jeśli chcesz je gdzieś zapisać i tyle bo to wbrew temu co tu wykrzykuje ~ayeo bezproblemowo można to zrobić.
Gorzej jeśli chcesz tych danych użyć do czegoś co później będzie miało wpływ na widok.


Chętnie się dowiem jak...
Leeddo
  1. <?php
  2. echo "<img src='DB_Photo/IMG_6540.JPG' width='".$w1."px' height='".$h1."px'/>";
  3. ?>


chce wyswietlic obrazek po uprzednim zeskalowaniu go do 1/2 rozdzielczosci, to ze nie zmienia to wagi jpg a tylko wymiary wiem i tutaj jest to obojetne
ayeo
do tego to nawet PHP nie jest potrzebne...
Leeddo
mimo wszystko chcial bym sie dowiedziec jak wartosc otrzymana w 1 lini kodu (1280) wykorzystac w moim przypadku ?
mike
Cytat(ayeo @ 16.12.2007, 21:35:18 ) *
Chętnie się dowiem jak...
Ależ bardzo proszę.

Rozwiązanie polega na wyświetleniu obrazka, który poza byciem obrazkiem zrobi nam coś jeszcze. Zapisze interesujące nas dane.
W poniższym przykładzie dane zostaną zapisane do pliku.

index.html
  1. <script type="text/javascript">
  2. url = "fakeimage.php?width=" + screen.width +"&amp;height=" + screen.height;
  3. document.write('<img src="' + url + '" alt="brak obrazka" />');


Rolę obrazka gra skrypt fakeimage.php
  1. <?php
  2.  
  3. if (!empty($_GET['width']) && !empty($_GET['height'])) {
  4. file_put_contents('data.txt', $_GET['width'] . "x" . $_GET['height'] . "\n", FILE_APPEND);
  5. }
  6.  
  7. header("Content-type: image/gif");
  8.  
  9. $resImage = imagecreate(1, 1);
  10.  
  11. $intTransparentColor = imagecolorallocate ($resImage, 255, 255, 255);
  12. imagecolortransparent($resImage, $intTransparentColor);
  13. imagegif($resImage);
  14. imageDestroy($resImage); 
  15.  
  16. ?>

Zapisuje on dane do pliku a potem serwuje przeglądarce przezroczystego gif'a 1x1 :-)

Zapisane dane wyglądają tak (u mnie):
Kod
1152x864
1152x864
1152x864
1152x864



Strona wyświetla się normalnie bez przeładowywania, nie ma AJAXa ani ciasteczek. PHP natomiast dane otrzymuje i może nimi się bawić do woli.

Leeddo właśnie tak możesz generować sobie ten obrazek, korzystając z danych dostarczonych za pomocą JavaScript.
Choć mimo wszystko pomysł jest lekko dziwny. Po co Ci to? To wszystko to strzelanie do wróbli z armaty.
ayeo
@mike, co to za różnica czy postawisz ciacho, wyślesz POSTem, czy jako tablica GET? Wysyłasz dane z jednej strony do innego skryptu PHP! W sensie NIE UŻYWASZ DANYCH O ROZDZIELCZOŚCI W PLIKU MACIERZYSTYM, KTORY POBIERA ROZDZIELCZOŚĆ! Myślałem, że mnie zaskoczysz tongue.gif
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.