Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dodanie i wyświetlenie zdjęcia
Forum PHP.pl > Forum > Przedszkole
bfeatr
Ćwiczę sobie i chciałem napisać skrypt który dodaje zdjęcie do katalogu zmienia jego wielkość poczym wyświetla na tej samej stronie co formularz siedzę już 3 godziny i na nic mądrego nie wpadłem no może prócz tego że kod nie działa do góry...

Schemat strony

Zdjęcie które chce wyświetlić
jakieś inne elementy
i tu dopiero formularz


o to kod wyświetlanie zdjęcia
  1. <?php
  2. require "function.php";
  3. if(isset($_SESSION['uzytkownik'])){
  4. echo '<img src="obraz/'.S_SESSION['uzytkownik'].'" width="280" height="424" border="0" alt="foto" />';
  5. }
  6. else
  7. {
  8. echo '<img src="obraz/obraz.jpg" width="280" height="424" border="0" alt="foto" />';
  9. }
  10.  
  11. formularz ?>

  1. <?php
  2. if (isset($_POST['submit']))
  3. {
  4. $adres=get_ip();
  5. $nazwa_pliku=addPicture(280,424,$adres);
  6. form();
  7. }
  8. else
  9. {
  10. form();
  11. }
  12. ?>

funkcje
  1. <?php
  2. if (isset($_POST['submit']))
  3. {
  4. $adres=get_ip();
  5. $nazwa_pliku=addPicture(280,424,$adres);
  6. form();
  7. }
  8. else
  9. {
  10. form();
  11. }
  12. ?>

funkcje
  1. <?php
  2. function addPicture($x, $y, $nazwa_pliku){
  3.  
  4. // sprawdza ładowany obrazek
  5. if (isset($_FILES['upload'])) {
  6.  
  7. // Sprawdza typ, pownien być JPEG lub PNG.
  8. $allowed = array ('image/pjpeg', 'image/jpeg', 'image/JPG');
  9. if (in_array($_FILES['upload']['type'], $allowed)) {
  10.  
  11. // przenosi plik do docelowego katalogu.
  12.  
  13. if (move_uploaded_file ($_FILES['upload']['tmp_name'], './obraz/' .$nazwa_pliku .' ')) {
  14. echo '<c><em>Plik został załadowany!</em></c>';
  15. $_SESSION['uzytkownik']=get_ip();
  16. $location='./obraz/' .$nazwa_pliku.'';
  17. $img = imagecreatefromjpeg($location);
  18. $width = imagesx($img);
  19. $height = imagesy($img);
  20. $width_mini = $x;
  21. $height_mini = $y;
  22. $img_mini = imagecreatetruecolor($width_mini, $height_mini);
  23. imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width , $height);
  24. imagejpeg($img_mini, $location, 80);
  25. imagedestroy($img);
  26.  
  27.  
  28. } // Koniec instrukcji if move...
  29.  
  30. } else { // Niepoprawny typ.
  31. echo '<c>Proszę załadować plik typu JPEG.</c>';
  32.  
  33. form();
  34. }
  35. // Usuń plik jeżeli jeszcze istnieje.
  36. if (file_exists ($_FILES['upload']['tmp_name']) && is_file($_FILES['upload']['tmp_name']) ) {
  37. unlink ($_FILES['upload']['tmp_name']);
  38. }
  39. }
  40. return $nazwa_pliku;
  41. }
  42.  
  43.  
  44. function form(){
  45.  
  46. <form enctype="multipart/form-data" method="post" action="indexa.php">
  47.  
  48. <input id="element_5" name="upload" class="element file" type="file"/>
  49.  
  50. <input id="saveForm" class="button_text" type="submit" name="submit" value="Submit" />
  51. ';
  52.  
  53. }
  54.  
  55. function get_ip()
  56. {
  57. if($_SERVER['HTTP_CLIENT_IP'])
  58. {
  59. $ip = $_SERVER['HTTP_CLIENT_IP'];
  60. }
  61. else if($_SERVER['HTTP_X_FORWARDED_FOR'])
  62. {
  63. $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  64. }
  65. else
  66. {
  67. $ip = $_SERVER['REMOTE_ADDR'];
  68. }
  69.  
  70. if($ip2long)
  71. {
  72. $ip = ip2long($ip);
  73. }
  74. $z=date('H i s');
  75. $a=$z . str_replace(":","^",$ip);
  76. return $a;
  77. }
  78. ?>
Turson
  1. echo '<img src="obraz/'.S_SESSION['uzytkownik'].'" width="280" height="424" border="0" alt="foto" />';

S_SESSION?

  1. $_SESSION['uzytkownik']=get_ip();

Do funkcji przekazujesz $adres to po co drugi raz pobierasz IP?


  1. $nazwa_pliku=addPicture(280,424,$adres);

I najważniejsze - czemu nie dasz samego addPicture(280,424,$adres)? Inaczej funkcja się nie wykonuje
bfeatr
te błędy co pokazałeś i wyeliminowałem i tak nie działo źle podeszłem do sprawy bez małej bazy danych chyba się nie obędzie raczej. Założenie miałem takie że użytkownik wchodzi na stronkę wczytuje zdjęcie a po zamknięciu przeglądarki ono od razu się skasuje więc próbowałem dla łatwizny zrobić nazwę fotki jako połączenie jego ip i czasu w którym wszedł na stronkę ale to nie podziałało bo po przesłaniu formularza funkcja odpowiadająca za czas się zmieniła a czasu chciałem użyć dla tego że ten sam użytkownik za chwilę mógł by znowu dodać jakąś fotkę

dobra dalej mi nie wyszło frustruje mnie to

chce aby załadowała się strona z zdjęciem standardowym a pod nią był formularz do wgrania zdjęcia po wgraniu fotki chciałem żeby się ona zmieniła, mam plik formularz ładuje wszystko dobrze do folderu w jaki sposób bez przeładowania strony podmienić ten obrazek:/ ajax js zadnego nie ogarniam zbyt dobrze a wiem że trzeba ich użyć
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.