Pobieranie pliku po 80,443

0

Cześć, mam pewien zamysł, aby pobrać przez stronę www (80,443) plik z mojego komputera i aby zapisał się na serwerze.
Pomijamy kwestie bezpieczeństwa.
Nie znam się na programowaniu i znalazłem coś takiego, ale krzyczy, że jest błąd w linii fclose($fiha);
Czy ktoś mógłby mnie poratować ?

$stda=fopen("php://input","r");
  if ($_GET['action']=='1')
  {
    $fiha=fopen($_GET['name'].".".$_GET['ext'],"w");
    while ($data=fread($stda,1024))
    {
      fwrite($fiha,$data);
    }
  }
  fclose($fiha);
  fclose($stda);

Wywołanie:
http://mojastrona.pl/pliki.put.php?name=costam&ext=txt&action=1','d:\test.txt
Cel: zapisanie się pliku test.txt pod nazwą costam.txt

1

fopen() uruchamia się na serwerze, nie pobierzesz w ten sposób pliku od użytkownika, jeśli taki jest Twój zamiar - do tego potrzebujesz wykorzystać klasyczny formularz wyboru pliku (poszukaj informacji na temat php upload file).

0

Z tego co przeczytałem w dokumentacji php, to wynika, iż można w ten sposób coś takiego zrobić, ale ja nie znam składni więc nie wiem, jak to zaimplementować. :(
Zakładam, że na komputerze, na którym jest plik do pobrania działa aplikacja z uruchomionym php.
Dostaje błąd:

[Fri Apr 28 08:19:02.604552 2023] [fcgid:warn] [pid 13567] mod_fcgid: stderr: PHP Fatal error:  Uncaught TypeError: fclose(): Argument #1 ($stream) must be of type resource, null given in /var/www/pliki.put.php:11
[Fri Apr 28 08:19:02.604567 2023] [fcgid:warn] mod_fcgid: stderr: Stack trace:
[Fri Apr 28 08:19:02.604576 2023] [fcgid:warn] [pid 13567] mod_fcgid: stderr: #0 /var/www/pliki.put.php(11): fclose()
[Fri Apr 28 08:19:02.604584 2023] [fcgid:warn] [pid 13567] mod_fcgid: stderr: #1 {main}
[Fri Apr 28 08:19:02.604592 2023] [fcgid:warn] [pid 13567] mod_fcgid: stderr:   thrown in /var/www/pliki.put.php on line 11


0

Powoli, powoli - chcesz pobrać plik od użytkownika na serwer, tak? (tj. z jednego komputera na drugi)

1
Patryk27 napisał(a):

Powoli, powoli - chcesz pobrać plik od użytkownika na serwer, tak? (tj. z jednego komputera na drugi)

jeśli zrozumiałeś OP, a nawet poprawnie, to gratuluję.
Ja nie mam takich predyspozycji

0
Patryk27 napisał(a):

Powoli, powoli - chcesz pobrać plik od użytkownika na serwer, tak? (tj. z jednego komputera na drugi)
TAK

0

Ok, w takim razie tak jak napisałem:

fopen() uruchamia się na serwerze, nie pobierzesz w ten sposób pliku od użytkownika, jeśli taki jest Twój zamiar - do tego potrzebujesz wykorzystać klasyczny formularz wyboru pliku (poszukaj informacji na temat php upload file).

Nie wiem co konkretnie znalazłeś w dokumentacji, ale musiałeś to źle zrozumieć - być może widziałeś fragmenty fopen() odnoszące się do $_FILES, ale ta zmienna zawiera właśnie pliki z formularza uploadowania pliku (i jak wrzucisz w Google php upload file, to znajdziesz instrukcje od A do Z - nie jest to szczególnie złożone).

1 użytkowników online, w tym zalogowanych: 0, gości: 1