Mam jeden problem związany z dopisaniem jednej funkcji do aplikacji na facebook, chodzi mianowicie o to iż w tym momencie mogę dodać na dany obrazek
Dane linijki z plików tekstowych. ( w kodzie niżej jest to linijka 30 imagecreatefromjpeg ("foto.jpg"); )
Niestety nie potrafię tego tak zmodyfikować aby można było dodać zamiast właśnie tego obrazka foto.jpg
losowego zdjęcia z danego folderu na serwerze.
Szukałem i znalazłem odpowiedzi jak zrobić aby dodawał się losowy obrazek lecz nie potrafię jeszcze tego w pełni zaimplementować do kodu.
Zacząłem moją przygodę z PHP niecały miesiąc temu kożstam z książki Heliona od podstaw i jeszcze nie doszedłem do takich rzeczy.
Ale do rzeczy mam już kod gdzie dodaje obrazek foto.jpg i nanoszę na niego w odpowiednich miejscach tany tekst:
<?php require_once 'src/facebook.php'; // EDIT $app_id = "..."; $app_secret = "..."; $redirect_uri ="..."; 'appId' => $app_id, 'secret' => $app_secret, 'cookie' => true )); $user = $facebook->getUser(); $user_profile = $facebook->api('/me'); $coded = $_REQUEST['code']; $name = "".$user_profile['name'].""; $birth = "".$user_profile['birthday'].""; $fbid = "".$user_profile['id'].""; function RandomLine($filename) { } $reason1 = RandomLine("reason1.txt"); $reason2 = RandomLine("reason2.txt"); $obrazek = imagecreatefromjpeg ("foto.jpg"); $color = imagecolorallocate( $obrazek, 0, 0, 0 ); //kolro nazwiska $color1 = imagecolorallocate( $obrazek, 36, 0, 255 ); //kolor pierwszej linijki na obrazku $color2 = imagecolorallocate( $obrazek, 36, 0, 255 ); // kolor drugiej $font1 = "HelveticaNeueLTPro-BdEx.ttf"; $font = "HelveticaNeueLTPro-BlkExO.ttf"; //$death = "".date('d/m/Y', strtotime( '+'.rand(0, 2023).' days')).""; imagettftext( $obrazek, 48, 0, 9, 50, $color, $font, $name ); // pozycja pierwszej linijki //imagettftext( $obrazek, 14, 0, 100, 115, $black, $font, $death ); losowa data imagettftext( $obrazek, 36, 0, 57, 230, $color1, $font1, $reason1 ); // pozycja drugiej linijki imagettftext( $obrazek, 36, 0, 1, 330, $color2, $font1, $reason2 ); // pozycja trzeciej linijki imagejpeg($obrazek, "img/".$fbid.".jpg", 100); $facebook->setFileUploadSupport(true); //Create an album 'message'=> 'ZOBACZ mijesce i pozycję miłosną na dziś', 'name'=> 'bo zawsze jest czas na...' ); $create_album = $facebook->api('/me/albums', 'post', $album_details); //Get album ID of the album you've just created $album_uid = $create_album['id']; //Upload a photo to album of ID... $file='img/'.$fbid.'.jpg'; //Example image file $upload_photo = $facebook->api('/'.$album_uid.'/photos', 'post', $photo_details); imagedestroy($obrazek); $upphoto = $upload_photo['id']; header("location: <a href="http://www.facebook.com"%3b%29" target="_blank">http://www.facebook.com")</a> ?>
No dobrze tak jak napisałem szukałem w sieci rozwiązania i znalazłem kilka sposobów, może je przedstawię.
Pierwszy sposób:
<?php $i = 0; if($plik != "." && $plik != ".."){ $obrazki[$i]= $plik; $i++; } } ?>
Najpierw za pomocą funkcji opendir() należy otworzyć folder
Funkcja readdir() zwraca nazwy kolejnych plików w danym katalogu
Za pomocą funkcji closedir() zamykamy połączenie z wcześniej otworzonym katalogiem.
Funkcja rand(), zwraca losową liczbę z podanego w parametrach przedziału. Natomiast funkcja count() przekazuje liczbę elementów tablicy.
Ok próbowałem na wiele sposobów użyć tego rozwiązania lecz nie udawało mi się to w pełni.
Drugi spoób na któy się natknąłem w sieci to za pomocą funkcji include() dodać plik:
Kod pliku do losowego wybierania obrazków:
<?php $katalog = '/dziewczyny/obrazki/'; $n=0; $n++; $losowy_obr[$n] = "$plik"; } } echo "<table align='center'><tr><td><img src=\"$katalog/$losowy_obr[$losowa_poz]\"></td></tr></table>"; } } ?>
Lecz nie wiedziałem także dokładnie gdzie wstawić funkcję include z tym plikiem, również próbowałem na wiele sposobów.
Bardzo proszę osoby które znają rozwiązanie tego problemu o pomoc, ponieważ nie mogę sam sobie poradzić. Wczoraj siedziłem do późnej nocy lecz mi się to nie udało.
Z góry dziękuję wszystkim za jakąkolwiek pomoc.