Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Problem ze zmienną odczytywaną wewnątrz funkcji
furious_knight
post 8.04.2014, 07:50:43
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 18.12.2011

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


Witam,

Mam mały problem ze skryptem php, problem wydaje się banalny ale niestety nie udało mi się odnaleźć odpowiedzi samemu.... Mam skrypt php który robi upload zdjęć na serwer oraz tworzy od razu miniaturki tych zdjęć, przed rozpoczęciem uploadu tworzę tablicę z informacjami:

  1. $config = array();
  2. $config['thumbnail_width'] = 180; // maksymalna szerokość miniatury w pikselach
  3. $config['thumbnail_height'] = 160; // maksymalna wysokość miniatury w pikselach
  4. $config['thumbnail_scale'] = true; // czy przy minimalizowaniu wielkości zachowywać skalę?
  5. $config['path_images'] = "./upload/$id_kod/images/"; // ścieżka do katalogu grafik
  6. $config['path_thumbnails'] = "./upload/$id_kod/thumbnails/"; // ścieżka do katalogu miniatur
  7. $config['max_file_size'] = 5048576; // maksymalna wielkość pliku w bajtach, 10MB
  8. $config['accepted_extensions'] = array('jpg', 'jpeg', 'png', 'gif'); // dozwolone rozszerzenia
  9. $config['accepted_mimes'] = array('image/jpg', 'image/pjpeg', 'image/jpeg', 'image/png', 'image/gif'); // dozwolone typy MIME


Następnie odwołuję się do elementów tablicy w skrypcie odpowiadającym za upload plików a do generowania miniaturek jest stworzona funkcja o nazwie
  1. function generateThumbnail($filename, $extension)
  2. {


od razu po utworzeniu funkcji odwołuję się do zmiennej $config oczywiście poprzedzająć ją global i całość wygląd tak:

  1.  
  2. function generateThumbnail($filename, $extension)
  3. {
  4. global $config;
  5. echo $config['path_images'];
  6. ...


Dezorientuje mnie fakt że za pomocą xampp lokalnie skrypt działa należycie a na serwerze (home) zmienna $config['path_images']; wewnątrz function nie działa, po za nią jak najbardziej

czy ma ktoś pomysł co może być przyczynąquestionmark.gif
Go to the top of the page
+Quote Post
Damonsson
post 8.04.2014, 08:00:01
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Na serwerze wyłączone są zmienne globalne i słusznie. Najprościej, przekaż sobie $config jako 3ci parametr funkcji i problem z głowy.
Go to the top of the page
+Quote Post
furious_knight
post 8.04.2014, 08:25:50
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 18.12.2011

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


Jeżeli chodzi o skrypt to twój pomysł z trzecim parametrem działa bez zarzutu! wielkie dzięki ale co do wyłączonych zmiennych globalnych to nie jestem pewien bo aplikacja którą modyfikuję nie jednokrotnie z skryptach odwołuje się do zmiennych globalnych np.

  1. global $user;
jest używane prawie w każdym skrypcie, ale być może użycie global w funkcji i poza funkcjami prowadzi się innymi prawami.. tego nie wiem ale może ktoś mądrzejszy się wypowie!

Jeszcze raz dzięki za pomoc Damonsson
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 07:11