Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Losowanie zdjęcia i wysyłąnie informacji o nim na maila
Forum PHP.pl > Forum > Przedszkole
alfemix
Witam!
Mam taki skrypt:
  1. <?php
  2.  
  3. $cfg['dir_images'] = 'images';
  4. $cfg['expansions'] = array('png', 'gif', 'jpg');
  5.  
  6. // Jeżeli wersja PHP < 4.2.0 wtedy zachodzi potrzeba użycia generator licz losowych
  7. // srand(floor(time() / (60*60*24)));
  8.  
  9. // Losowanie
  10. $tmp['randed_img']['name_file'] = $tmp['img'][array_rand($tmp['img'] = glob('./'.$cfg['dir_images'].'/*.{'.implode(',', array_unique(array_map('strtolower', $cfg['expansions']))).'}', GLOB_BRACE))];
  11. $tmp['randed_img']['file_info'] = getimagesize($tmp['randed_img']['name_file']);
  12. // Throw
  13. echo '<img src="'.$tmp['randed_img']['name_file'].'" '.$tmp['randed_img']['file_info'][3].' alt="Tekst alternatywny" />';
  14.  
  15. ?>

oraz wysyłąnie na maila:
  1. <?
  2.  
  3. $info = $_GET['paczka'];
  4. extract($_POST);
  5. mail("alfemix@gmail.com", "temat", $info);
  6. echo "mail wyslany";
  7. ?>

i potrzebję, aby wylosowane zdjęcie , lub ID tego zdjęcia zostało wysłane mi na maila
shx420
Cześć.

Musisz połączyć oba skrypty w całość, po czym po wylosowaniu fotki od razu wysyłać maila z odpowiednią treścią. Funkcji mail używa się w następujący sposób (w najprostszej 'wersji'):

  1. mail($dokogo, $temat, $wiadomosc)


Co za tym idzie, po wylosowaniu fotki i umieszczeniu jej nazwy w zmiennej $tmp['randed_img']['name_file'] wystarczy wysłać tą zmienną na wybrany email. Dzięki temu za każdym razem gdy fotka się wylosuje, będziesz otrzymywać maila z jej nazwą. Treść maila można później dowolnie rozszerzyć o id czy inne informacje.

  1.  
  2. <?php
  3.  
  4. $cfg['dir_images'] = 'images';
  5. $cfg['expansions'] = array('png', 'gif', 'jpg');
  6.  
  7. // Jeżeli wersja PHP < 4.2.0 wtedy zachodzi potrzeba użycia generator licz losowych
  8. // srand(floor(time() / (60*60*24)));
  9.  
  10. // Losowanie i zapisanie nazwy pliku do zmiennej $tmp['randed_img']['name_file']
  11. $tmp['randed_img']['name_file'] = $tmp['img'][array_rand($tmp['img'] = glob('./'.$cfg['dir_images'].'/*.{'.implode(',', array_unique(array_map('strtolower', $cfg['expansions']))).'}', GLOB_BRACE))];
  12. $tmp['randed_img']['file_info'] = getimagesize($tmp['randed_img']['name_file']);
  13.  
  14. // Wyswietlenie obrazka na ekranie
  15. echo '<img src="'.$tmp['randed_img']['name_file'].'" '.$tmp['randed_img']['file_info'][3].' alt="Tekst alternatywny" />';
  16.  
  17. // wyslanie maila z nazwa pliku obrazka
  18. if(mail("alfemix@gmail.com", "Wylosowany obrazek.", $tmp['randed_img']['name_file'])) {
  19. echo "mail wyslany";
  20. } else {
  21. echo "mail niewyslany";
  22. }
  23.  
  24. ?>
  25.  


Jeszcze ważna informacja na koniec - aby używać funkcji mail potrzebny Ci będzie odpowiednio do tego skonfigurowany serwer.

Powodzenia!
alfemix
Tak próbowałem zrobić, ale niestety coś mi nieszło. Dziękuję smile.gif DZiała!
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.