Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: GD2 z PHP4 na localhostcie dziala a na
Forum PHP.pl > Forum > PHP
gam3r
Witam mam problem taki jak w temacie, tzn. wszystko gra i buczy na localhoscie w domu, a po upoladzie plikow na serw, rowniez stronka działa, jednakże upolad zdjęć do galerii nie działa, mam php Version 4.3.10 z GD2, a na serwerze boo.pl v.4.3.9 z GD2, struktura katalogów i nazwy plików są prawidłowe. Oto fragment kodu z pliku admin.php który odpowiada za wybór odpowiedniej akcji:
  1. <?php
  2. elseif($_GET['s']==addfoto)
  3. {
  4. wyswietl_mozliwosci_admina();
  5. wyswietl_hr();
  6.  
  7.  if(!empty($_POST['nazwa']) && !empty($_FILES['zdjecie']) )
  8.  {
  9.   if($dodaj_zdjecie()) dodano_zdjecie();
  10.   else blad_przy_dodawaniu_zdjecia();
  11.  }
  12.  else wyswietl_formularz_dodawania_zdjecia(); 
  13. }
  14. ?>


oraz plik z funkcjami, który jest dołączany do admin.php

  1. <?php
  2. function createimageandminiature($newfotodir, $newminifotodir, $filename, $new_x, $new_y)
  3. {                     
  4. $base=@basename($_FILES['zdjecie']['name']);
  5.  
  6. if(!strchr(strtolower($base), '.jpg') && !strchr(strtolower($base), '.jpeg')) return 0;                  
  7. if(@!move_uploaded_file($_FILES['zdjecie']['tmp_name'],  $newfotodir.$filename)) return 0;                        
  8.                      
  9. $duze=$newfotodir.$filename;// miejsce uploadu duzego pliku
  10.  
  11. if(!$img=@imagecreatefromjpeg($duze)) return 0;
  12.  
  13. $image_height=@imagesy($img);//stara wysokosc
  14. $image_width=@imagesx($img);//stara szerokosc
  15.                                           
  16. $temp_image=@imagecreatetruecolor($new_x, $new_y);
  17. @imagecopyresampled($temp_image, $img, 0,0,0,0, $new_x, $new_y, $image_width, $image_height);
  18. @imagejpeg($temp_image, $newminifotodir.$filename, 100);
  19.  
  20. return 1;
  21. }
  22.  
  23. function wyswietl_formularz_dodawania_zdjecia()
  24. {
  25. echo"<form enctype='multipart/form-data' method='post' action='admin.php?s=addfoto'>
  26. <font class=admin_tekst_form>wybierz zdjecie:</font>
  27. <br>
  28. <input type=file name=zdjecie class=admin_file>
  29. <br>
  30. <font class=admin_tekst_form>nazwa zdjecia:</font>
  31. <br>
  32. <input type=text name=nazwa class=tytul>
  33. <br>
  34. <input type=submit value=dodaj class=submit>
  35. </form>";
  36. }
  37.  
  38. function dodaj_zdjecie()
  39. {
  40. my_conn();
  41.  
  42. $query="INSERT INTO fotos SET nazwa='$nazwa_zdjecia', plik_nazwa='$filename'";
  43. $nazwa_zdjecia=$_POST['nazwa'];
  44. $nazwa_pliku=$_FILES['zdjecie']['name'];
  45.  
  46. $query="SELECT * FROM fotos WHERE nazwa='$nazwa_zdjecia' OR plik_nazwa='$nazwa_pliku'";
  47. $res=mysql_query($query);
  48. $ile=mysql_num_rows($res);
  49. if($ile) return 0;
  50.  
  51. $newfotodir="foto/";
  52. $newminifotodir="mini_foto/";
  53. $filename=$_FILES['zdjecie']['name'];
  54. $new_x=100;
  55. $new_y=80;
  56. if(!createimageandminiature($newfotodir, $newminifotodir, $filename, $new_x, $new_y)) return 0;
  57.  
  58.  
  59. $query="INSERT INTO fotos SET nazwa='$nazwa_zdjecia', plik_nazwa='$filename'";
  60. $res=mysql_query($query);
  61. if($ile) return 1;
  62. else return 0;
  63.  
  64. }
  65.  
  66. function dodano_zdjecie()
  67. {
  68. echo"<br><b class=ok>DODANO ZDJECIE DO GALERII</b><br>";
  69. }
  70.  
  71. function blad_przy_dodawaniu_zdjecia()
  72. {
  73. echo"<br><b class=blad>NIE UDALO SIE DODAC ZDJECIA DO BAZY $res</b><br>";
  74. }
  75.  
  76. ?>
mike
Na pierwszy rzut oka:
1. Wywal wszystkie @ ...
2. ... i powiedz jakie błędy zwróci;
3. Powiedz jakie są objawy "nie działania". Błędy, komunikaty, opis jak powinno działać a jak działa, e.t.c.

Na początku dodaj też:
  1. <?php
  2.  
  3. error_reporting( E_ALL );
  4. ini_set( 'display_errors', 1 );
  5.  
  6. // ...
  7.  
  8. ?>
Vengeance
1. elseif($_GET['s']==addfoto)
2. if($dodaj_zdjecie()) dodano_zdjecie();

ad1. nie ma ' xx '
ad2. $dodaj_zdjecie() ? what is this!
to takie dwa bledy ktore znalazlem
gam3r
znaczy sie to
Cytat
1 elseif($_GET['s']==addfoto)
2. if($dodaj_zdjecie()) dodano_zdjecie()

wiec (1) to wiem ze powinno byc w cudzyslowiu ale dziala mi to z tym na localhoscie i na innych stronkach na tym serwie tez taki sposob zapisu dziala, a (2)to moja literowka jak wklejałem kod.
Wiec oprócz tych wszystkich bledow zwiazanych z brakiem cudzysłowów to wywala mi takie alerty:
Kod
Warning: move_uploaded_file(foto/Zima.jpg): failed to open stream: Permission denied in /home/accounts_g/gam3r/public_html/hardtricks_site/admin_foto_func.php on line 7

Warning: move_uploaded_file(): Unable to move '/tmp/upload/phpSKxcGW' to 'foto/Zima.jpg' in /home/accounts_g/gam3r/public_html/hardtricks_site/admin_foto_func.php on line 7


No kod i cała struktura katalogów jest identycznie zapisana jak na localhoscie, a nie działa. No po poprawnym uploadzie powinna zadzialac funkcja dodano_zdjecie(), ale następuje jakiś błąd i wywołuje blad_przy_dodawaniu_zdjecia(). Tylko nie wiem dlaczego, bo juz mam na tym serwie swoją jedną stronkę i też mam tam taki upload jak tutaj i chodzi a teraz nie worriedsmiley.gif
Chewolf
Cytat(gam3r @ 2005-12-14 17:44:20)
Kod
stream: Permission denied in /home/accounts_g/gam3r/

Czy przypadkiem nie powinienieś nadać Chmodów na foldery, które używasz w skrypcie??
gam3r
a czy błędne działanie funkcji moved_uploaded_file moze miec coś wspólnego z chmod? mi sie wydaje ze nie, bo tam podaje tylko miejsce w ktorym znajduje sie zuploadowany plik i miejsce gdzie powinien go zapisac, nie dzialam bezposrednio na tym pliku:/ chyba:P nie wiem jak myślicie, inni?
ebe
A masz prawo przeniesienia pliku do tego katalogu który chcesz? Nie i to Ci sygnalizuje ten warning
aleksander
ja proponuje żeby za nie używanie cudzysłowów do stringów dawać ostrzeżenia bo to sie robi powoli plagą wśród początkujących.

LUDZIE: ciągi tekstowe (stringi) obejmujemy w pojedyńczy lub podwójny cudzysłów!!!! jeżeli tego nie zromimy mamy błąd mimo że nawet parser php tego nie zasygnalizuje!
gam3r
ok ok juz mam wszystko dzieki, zapomnialem ze zawsze ustawiam sobie uprawnienia do plikow z Total Commanderze, wszystkie stringi tesh zmieniłem biggrin.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.