Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Niedziałający upload plików - plik nie wysyła się tam gdzie powinien
Forum PHP.pl > Forum > Przedszkole
hippie
Witam,

Cały czas mam problem z moim formularzem, a konkretnie z uploadowaniem pliku. Zmienną odpowiedzialną za katalog, do którego ma trafić plik chcę zapisać w ciastku, jednakże nie zapisuje się ona. Po wyświetleniu całej tablicy $_COOKIES zwraca mi tylko SID.

Uploadowany plik powinien trafić do katalogu themes/tmp/$style/, jednakże wędruje tylko do themes/tmp, co jest jasne, bo zmienna $style jest pusta. I właśnie mój problem polega na tym, że nie wiem, jak zapisać tą zmienną.

Oto kod:

  1. <?php
  2. $style2 = null;
  3. $uploaded = "themes/tmp/".$_COOKIE["style2"]."/".$_FILES['plik']['name'];
  4. $upload = $_FILES['plik']['tmp_name'];
  5.  
  6. ...
  7.  
  8. setcookie('style', $style, time() + 3600); // setcookie jest zaraz za fputs, które poprawnie zapisuje zmienną $style do pliku
  9.  
  10. ...
  11.  
  12. if(isset($upload))
  13.        {
  14.            if(is_uploaded_file($upload))
  15.                {
  16.                    move_uploaded_file($upload,$uploaded);
  17.                    echo("<p>Plik <strong>".$_FILES['plik']['name']."</strong> został pomyślnie załadowany na serwer</p>");
  18.                    echo("<script type='text/javascript'>
  19.                    window.location.href='index.php'
  20.                    </script>");
  21.                    exit;
  22.                }
  23.            else
  24.                {
  25.                    echo("<p>Zonk!</p>");
  26.                }
  27.        }
  28.        else
  29.        {
  30.        }
  31. ?>


Z góry dzięki za pomoc.

Pozdrawiam,
hippie
pgrzelka
1. zapisuj tą zmienną w sesji
2. setcookie ma czwarty parametr odpowiedzialny za ścieżkę dla której cookie jest przypisany, daj tam '/'
3. $_COOKIES ? - a nie powinno być $_COOKIE ?
hippie
Cytat(pgrzelka @ 12.06.2009, 13:57:25 ) *
1. zapisuj tą zmienną w sesji
2. setcookie ma czwarty parametr odpowiedzialny za ścieżkę dla której cookie jest przypisany, daj tam '/'
3. $_COOKIES ? - a nie powinno być $_COOKIE ?


1. Na początku skryptu mam session_start();, ale nie wiem, jak mogę tą zmienną zapisać w sesji. Możesz mi pomóc?

2. Pomimo dodania czwartego parametru, ciastko nadal się nie zapisuje.

3. Zwykła literówka, w skrypcie mam $_COOKIE tongue.gif
pgrzelka
Cytat(hippie @ 12.06.2009, 15:17:41 ) *
1. Na początku skryptu mam session_start();, ale nie wiem, jak mogę tą zmienną zapisać w sesji. Możesz mi pomóc?

http://pl2.php.net/manual/pl/book.session.php
http://pl2.php.net/manual/pl/session.examples.basic.php

Cytat
setcookie('style', $style, time() + 3600);
gdzie ustawiasz zmienną $style ?
wogule to zapisujesz w cookie 'style', pobierasz 'style2'
napisz co chcesz osiągnąć to może jakieś inne rozwiązanie wymyślimy
hippie
Otóż.

Mam formularz w paru krokach. W pierwszym kroku użytkownik wypełnia wszystkie dane dotyczące wysyłanego przez niego pliku, następnie jest właśnie wysyłanie pliku. Ten plik ma się znajdować w katalogu, którego nazwę użytkownik podał w kroku poprzednim i jest to zmienna $style.

Właśnie próbowałem zapisać ją w sesji, ale nic z tego.

[EDIT]

No kombinuję cały czas i kombinuję, ale cały czas mi nie wychodzi, zarówno z sesjami, jak i ciastkami. Stosowałem się do przykładów z manuala, szperałem po internecie, jednakże nic.

Czy ktoś wie, co może być przyczyną, że to cudo nie działa jak powinno?

[EDIT]

Oto cały kod:

http://wklej.org/hash/03600d2db6/
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.