Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Serwery WWW _ Zapisywanie plików pdf na serwerze poprzez www-data

Napisany przez: agataperz 22.01.2023, 21:19:14

Witam,

mam bardzo specyficzny problem z serwerem apache2.

Skrypt php nie zapisuje zeskanowanych plików pdf na serwer. Natomiast pliki pdf wygenerowane przez serwery (np. wyciągi bankowe) zapisują się na serwerze.
Pliki skanowane były przez soft windowsowy jak i również przez soft skanera.

Skrypt php wygląda następująco:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"><head>
  4. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  5. <title>tytuł</title></head><body>
  6.  
  7. <?php
  8. $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  9. $plik_nazwa_oryginalna = 'agata_'.http://www.php.net/date("Y-m-d_H_i_s").'.pdf'; //$_FILES["plik1"]["name"];
  10. $plik_wielkosc = $_FILES["plik1"]["size"];
  11. $katalog='/home/agata/html/test/';
  12.  
  13. if (http://www.php.net/is_uploaded_file($plik_nazwa_tmp)) {
  14. http://www.php.net/echo "Plik <b>".$plik_nazwa_oryginalna."</b> (".$plik_wielkosc.") przesłany!";
  15. http://www.php.net/move_uploaded_file($plik_nazwa_tmp, $katalog."".$plik_nazwa_oryginalna);
  16. chmod($katalog."".$plik_nazwa_oryginalna, 0664);
  17. }
  18.  
  19. foreach(scandir($katalog) as $file)
  20. http://www.php.net/echo "".$file."<br>";
  21. ?>
  22.  
  23. <form action="test.php" method="post" enctype="multipart/form-data"><div>
  24. <input type="hidden" name="MAX_FILE_SIZE" value="120000" />
  25. <input name="plik1" type="file" />
  26. <input type="submit" value=" wyślij " />
  27. </div></form>
  28.  
  29.  
  30. </body></html>


Apache/2.4.54 (raspbijski)
PHP 7.4.33
max_file_uploads 20
post_max_size 8M

Niestety nie mam pojęcia co może być powodem.
W windows pliki posiadają te same uprawnienia
Macie Państwo jakiś pomysł co tu się stało że tak dziwnie działa?

Napisany przez: ohm 22.01.2023, 22:05:25

A co z debugowaniem?

Napisany przez: agataperz 26.01.2023, 01:12:13

w tym problem że debugowanie nie wyświetla błędów.


Napisany przez: nospor 26.01.2023, 10:02:55

sek w tym ze chyba nie zrobilas poprawnego debugowania

Masz dwa miejsca gdzie moze sie chrzanic

1)

if (is_uploaded_file($plik_nazwa_tmp)) {

2)
move_uploaded_file($plik_nazwa_tmp, $katalog."".$plik_nazwa_oryginalna);


By sprawdzic 1 wystarczy zrobic print_r($_FILES); i tam bedzie info o bledzie jesli to tam problem

A 2 to zwykle wlaczenie wyswietlania wszystkich bledow

Napisany przez: agataperz 26.01.2023, 14:21:43

Po zastosowaniu

  1. http://www.php.net/print_r($_FILES)

wyszło:
Array ( [plik1] => Array ( [name] => abrechnung2.pdf [type] => [tmp_name] => [error] => 2 [size] => 0 ) )

Napisany przez: viking 26.01.2023, 14:23:28

https://www.php.net/manual/en/features.file-upload.errors.php

UPLOAD_ERR_FORM_SIZE

Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.

Napisany przez: nospor 26.01.2023, 14:24:49

I tyle w temacie
"
w tym problem że debugowanie nie wyświetla błędów.
"

wink.gif

Napisany przez: agataperz 26.01.2023, 14:27:02

Dziękuję.
Co kilka główek to nie jedna smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)