Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: move_uploaded_file() i Windows. Czy jest tam inaczej niż na Unix?
Forum PHP.pl > Forum > PHP
wyciu
Witam!

Piszę mały CMS do zarządzania stroną sklejam.com.pl
Kilka dni temu zmieniłem serwer utrzymujący tę stronę z hostinghouse.pl na 1and1.pl.
Oczywiście na nowym serwerze jest Windows i chcę zapytać, czy jest jakaś różnica w uploadowaniu plików na serwer w tych dwóch różnych systemach operacyjnych za pomocą funkcji move_uploaded_file()?
Pytam bo na Windows skrypt prawidłowo nie przenosi wgrywanych plików.

Wyciu
Pyton_000
Nie.
nospor
Pyton, no jak nie... przeciez nie dziala wink.gif
wyciu
To jaka może być tego przyczyna? Na Windows nie ma CHMOD!

Zapomniałem dodać, po wykonaniu tej funkcji interpreter nie zwraca żadnego błędu, ostrzeżenia nic. Jest tylko ostrzeżenie od następnej instrukcji, która odwołuje się do tego wgrywanego pliku
(funkcja rename())
Pyton_000
Jakbyś włączył wyświetlanie błędów to zapewne Twoim oczomu ukazał by się las... las krzyży ... a nie przepraszam nie ten film...
rogal_81
Pokaż ten kod w którym używasz move_uploaded_file(). Ten serwer na Windows może nie mieć katalogu tmp w który są tymczasowo wgrywane pliki.
Dlaczego w ogóle windows?

Zobacz też przed move_uploaded_file() co siedzi w $_FILES czyli var_dump($_FILES) będziesz miał tam wszystko jak na dłoni.
rogal_81
Jak rozumiem to serwer php działa (nie wiem jaki masz zainstalowany na tej maszynie), zatem php.ini jest stworzone. Aby sprawdzić gdzie jest uruchom phpinfo() i na początku masz ścieżkę do pliku php.ini
wyciu
Chyba już wiem co jest przyczyną tej sytuacji. Zrzut tablicy FILES:

Array ( [up] => Array ( [name] => IMG_0078.JPG [type] => [tmp_name] => [error] => 6 [size] => 0 ) )

Czy da się coś zrobić z tym błędem?
wyciu
Brak tymczasowego folderu. Ale jak to "Naprawić".
kapslokk
Cytat(wyciu @ 16.09.2015, 16:38:32 ) *
Brak tymczasowego folderu. Ale jak to "Naprawić".

Ustawić folder w php.ini
W linku który CI wysłałem były wszystkie informacje.
wyciu
Fragent z phpinfo:

Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)

Jeśli się nie mylę to mój php.ini nic tu nie zmieni.
kapslokk
Cytat(wyciu @ 16.09.2015, 18:54:47 ) *
Jeśli się nie mylę to mój php.ini nic tu nie zmieni.

A nie możesz po prostu dodać / ustawić / sprawdzić czy istnieje wpis upload_tmp_dir w php.ini?

Swoją drogą czemu wrzuciłeś dokładnie ten fragment phpinfo?
wyciu
Nie bo:

1. To jest Windows i główny php.ini jest na dysku c, a jak jestem na e.
2. Z obsługi serwera napisali: "zważywszy, że korzysta Pan z usługi hostingu współdzielonego, edycja ustawień serwera nie jest możliwa".

No dobra trzeba będzie sobie to odpuścić.
kapslokk
To może spróbuj: http://php.net/manual/en/function.ini-set.php?
rogal_81
Tematu sobie nie odpuszczaj najwyżej odpuść sobie hosting i zmień na coś innego...... chyba że musisz mieć hosting na win (bleee)
Takie podstawy jak upload_tmp_dir musi być ustawiony.
1) sprawdź phpinfo() i zobacz jaka wartość przypisana do upload_tmp_dir jeżeli nie jest to null tzn że tmp_dir jest ustawiony ale prawdopodobnie Twój skrypt nie ma do niego dostępu, co też świadczy o jakimś fajku w konfiguracji serv.
wyciu
Cytat(kapslokk @ 16.09.2015, 19:33:56 ) *


Ten kod:

  1. if(ini_get('upload_tmp_dir')){
  2. echo "ok";
  3. }


wyświetli ok, ale jak ustawić ścieżkę do "mojego" temp folderu w poleceniu ini_set()?
kapslokk
  1. ini_set('upload_tmp_dir','sciezka');


Ścieżkę znajdziesz w phpinfo() np przy 'SCRIPT_FILENAME'. Stwórz sobie jakiś katalog tmp i do niego podepnij upload_tmp_dir.
wyciu
W SCRIPT_FILENAME mam:

E:\{coś tam}\www\1.php

Jak wpiszę to do drugiego parametru (bez 1.php oczywiście) to dostaję cały czas error 6.
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.