Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> move_uploaded_file() i Windows. Czy jest tam inaczej niż na Unix?
wyciu
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.05.2014

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


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
Go to the top of the page
+Quote Post
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Nie.
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Pyton, no jak nie... przeciez nie dziala (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
wyciu
post
Post #4





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.05.2014

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


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())

Ten post edytował wyciu 11.09.2015, 21:27:54
Go to the top of the page
+Quote Post
Pyton_000
post
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


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...
Go to the top of the page
+Quote Post
rogal_81
post
Post #6





Grupa: Zarejestrowani
Postów: 15
Pomógł: 2
Dołączył: 22.05.2013

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


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.
Go to the top of the page
+Quote Post
wyciu
post
Post #7





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.05.2014

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


Wyczytałem w manualu PHP taki wpis:

For those using PHP on Windows and IIS, you SHOULD set the "upload_tmp_dir" value in php.ini to some directory around where your websites directory is, create that directory, and then set the same permissions on it that you have set for your websites directory. Otherwise, when you upload a file and it goes into C:\WINDOWS\Temp, then you move it to your website directory, its permissions will NOT be set correctly. This will cause you problems if you then want to manipulate that file with something like ImageMagick's convert utility.

Jak się tworzy taki php.ini?
Go to the top of the page
+Quote Post
rogal_81
post
Post #8





Grupa: Zarejestrowani
Postów: 15
Pomógł: 2
Dołączył: 22.05.2013

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


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
Go to the top of the page
+Quote Post
wyciu
post
Post #9





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.05.2014

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


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?
Go to the top of the page
+Quote Post
kapslokk
post
Post #10





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


http://stackoverflow.com/questions/2709953...ver-error-6-php
Go to the top of the page
+Quote Post
wyciu
post
Post #11





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.05.2014

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


Brak tymczasowego folderu. Ale jak to "Naprawić".
Go to the top of the page
+Quote Post
kapslokk
post
Post #12





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


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.
Go to the top of the page
+Quote Post
wyciu
post
Post #13





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.05.2014

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


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.
Go to the top of the page
+Quote Post
kapslokk
post
Post #14





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


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?

Ten post edytował kapslokk 16.09.2015, 18:04:23
Go to the top of the page
+Quote Post
wyciu
post
Post #15





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.05.2014

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


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ć.
Go to the top of the page
+Quote Post
kapslokk
post
Post #16





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


To może spróbuj: http://php.net/manual/en/function.ini-set.php?
Go to the top of the page
+Quote Post
rogal_81
post
Post #17





Grupa: Zarejestrowani
Postów: 15
Pomógł: 2
Dołączył: 22.05.2013

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


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.
Go to the top of the page
+Quote Post
wyciu
post
Post #18





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.05.2014

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


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()?
Go to the top of the page
+Quote Post
kapslokk
post
Post #19





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


  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.
Go to the top of the page
+Quote Post
wyciu
post
Post #20





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.05.2014

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


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.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.09.2025 - 23:47