Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> obrazki przy pomocy readfile() i ajax
agmakonts
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 20.08.2008
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Witam
mam taki kod:
  1.  
  2. header('Content-Type: '.$post->post_mime_type);
  3.  
  4. $name = basename($post->guid);
  5. $base = home_url();
  6. $path= $_SERVER{'DOCUMENT_ROOT'}.str_replace($base,'',$post->guid);
  7. header ('Content-Disposition: inline; filename='.$name);
  8. header ('Content-length: ' .filesize($path));
  9. readfile($path);
  10.  


Generalnie wszystko chodzi super dopóki zapytanie nie jest ajaxowe. Gdy leci prez XMLHttpRequest przeglądarka po prostu się zawiesza.
Nie wiem w czym problem a nigdzie nie znalazłem pomocy. Ma ktoś jakiś pomysł?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
agmakonts
post
Post #2





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 20.08.2008
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Od początku:

Cały skrypt jest po to by w laghtboxie wyświetlał się sam obrazek a przy wejść bezpośrednim html.

Wiem ze jak bym pobrał dane bezpośrednio to tak by wyglądały i wiem że powinny być w img ale.... całość jest ładowana do Fancyboxa (http://fancybox.net/) który automatycznie rozpoznaje czy ma załadować html czy img.

Może i faktycznie to pytanie powinno być w JS, nie znam na tyle javascriptu by być pewnym. Generalnie mimo poprawnych nagłówków fancybox nie widzi że jest to obrazek i na tym polega problem.

Jeśli ma ktoś lepszy pomysł na obejście problemu w Wordpressie to chętnie skorzystam bo siedzę nad tym już chyba 12H bez przerwy i zaczynam czuć się pokonany.

Początek pliku attachment.php który ładuje i fancybox i ma być ładowany bezpośrednio wygląda tak:

  1. <?php
  2. if($_SERVER["HTTP_X_REQUESTED_WITH"] == 'XMLHttpRequest')
  3. {
  4. if (have_posts()) :
  5. while (have_posts()) : the_post();
  6.  
  7. header('Content-Type: '.$post->post_mime_type);
  8.  
  9. $name = basename($post->guid);
  10. $base = home_url();
  11. $replace = str_replace($base,'',$post->guid);
  12.  
  13. header ('Content-length: ' .filesize($_SERVER{'DOCUMENT_ROOT'}.$replace));
  14. readfile($_SERVER{'DOCUMENT_ROOT'}.$replace);
  15.  
  16. ?>
  17. <?php
  18.  
  19. endwhile; endif;
  20. }else {
  21.  
  22.  
  23. ?>
  24.  
  25. <?php get_header();?>
  26. <?php
  27. global $options;
  28. foreach ($options as $value) {
  29. if (get_settings( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; } else { $$value['id'] = get_settings( $value['id'] ); }
  30. }
  31. ?>
  32. <?php if (have_posts()) : ?>
  33. <?php while (have_posts()) : the_post(); ?>
  34.  
  35.  
  36. <section id="header-image">
  37. <?php echo get_the_post_thumbnail($post->post_parent, 'header' ); ?>
  38. </section>
  39.  
  40. <section id="single-title">
  41. <h2 class="single">
  42. <?php
  43. $parent_title = get_the_title($post->post_parent);
  44. echo $parent_title;
  45. ?>
  46. </h2>
  47.  
  48. (...................)
  49.  
  50.  



JS Fancybox (lightbox) sprawdza parametr href odnośnika i w zalezności od zawartości ładuje albo html albo obrazek do tagu <img>. W href jest adres attachment.php z odpowiednimi parametrami.

Live: http://91.193.211.226/galeria/femespik
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 09:35