Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nie działa metoda POST - UNRECOGNIZED URI PATTERN
Theofilos
post 13.04.2022, 14:43:40
Post #1





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

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


Drodzy forumowicze,

mam Debiana, na nim Apache/2.4.10 i PHP 5.6.7-1.
W sumie nie wiem, czy to w tej sekcji zadać pytanie, czy w PHP, ale spróbuję tu.

Co jest przyczyną podanych niżej błędów z charakterystycznym ”UNRECOGNIZED URI PATTERN” przy metodzie GET i POST?

Ze strony Mansfeld skopiowałem kod skryptu PHP do pliku zaladuj.php. Bez kodu do paska postępu. Tylko sam mechanizm wgrywania plików.

Stworzyłem stronkę zapisaną w pliku
  1. </head>
  2. <?php
  3. echo "wstawka PHP";
  4. ?>
  5. <br>
  6. <form action="zaladuj.php" method="POST" enctype="multipart/form-data">
  7. <input type="submit" value="Wyslij pliki"/>
  8. <input type="file" class="custom-file-import" name="image[]" multiple="">
  9. </form>
  10. </body>
  11. </html>


Przy próbie załadowania pliku na serwer pojawiają się w logach:
Kod
di=YwiPR0xtLE { mi:”web”, rm:”POST”, rurl:”UNRECOGNIZED URI PATTERN”, rp:”2887″, rsrc:”Mozilla/5.0 (Windows NT 10″, t:346074, s:200, I:467170, O:6951 }
di=YwiPR0xtLE { mi:”web”, rm:”GET”, rurl:”UNRECOGNIZED URI PATTERN”, rp:”2887″, rsrc:”Mozilla/5.0 (Windows NT 10″, t:14050, s:404, I:435, O:587 }


no i plik się nie wgrywa na serwer.

W sieci tylko jedną stronę z takimi błędami znalazłem i nic to nie wyjaśniło.

Z pozdrowieniami
Go to the top of the page
+Quote Post
Salvation
post 14.04.2022, 16:33:33
Post #2





Grupa: Zarejestrowani
Postów: 344
Pomógł: 70
Dołączył: 15.07.2014

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


Pokaż strukturę katalogową jaką masz w swoim projekcie.
No i na boga! Zmień wersje na coś bardziej na czasie!
Go to the top of the page
+Quote Post
Theofilos
post 27.04.2022, 18:27:26
Post #3





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

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


Struktura katalogów i plików wygląda następująco:

Dla kompletności źródło skryptu PHP:
  1. <?php
  2. if(isset($_FILES['image'])){
  3. $errors= array();
  4. $file_name = $_FILES['image']['name'];
  5. $file_size =$_FILES['image']['size'];
  6. $file_tmp =$_FILES['image']['tmp_name'];
  7. $file_type=$_FILES['image']['type'];
  8. $extensions= array("jpeg","jpg","png", "webp", "pdf");
  9.  
  10. foreach($file_name as $key => $value){
  11. $tmp = explode('.',$_FILES['image']['name'][$key]);
  12. $file_ext = strtolower(end($tmp));
  13.  
  14. if(in_array($file_ext,$extensions)=== false){
  15. $errors[]="Rozszerzenie niedozwolone.";
  16. }
  17.  
  18. if($file_size[$key] > 2097152){
  19. $errors[]='Plik nie może byc wiekszy niż 2 MB.';
  20. }
  21. }
  22.  
  23. if(empty($errors)==true){
  24. foreach($file_name as $key => $value){
  25. move_uploaded_file($file_tmp[$key],"pliki/".$file_name[$key]);
  26. echo "Pliki poprawnie wyslane!";
  27. }
  28. }
  29.  
  30. else{
  31. print_r($errors);
  32. }
  33. }
  34. ?>


Chętnie bym zmienił wersję systemu, apache i PHP, ale nie da się raczej tego zrobić w prosty sposób.
Samodzielna ingerencja w konfigurację może skończyć się źle.
To jest system na dysku sieciowym WD My Cloud. Od 16 kwietnia przestanie być wspierany.
Dlatego właśnie szukam rozwiązania, które zastąpi obecną jeszcze możliwość ze https://files.mycloud.com.
Czyli chcę stworzyć na lokalnym serwerze WWW (na tym dysku) podobną możliwość wgrywania plików przez prosty formularza.
Potem jeszcze chcę dodać wcześniejsze logowanie się, aby nie każdy mógł ładować, ale najpierw chcę się skupić na rozwiązaniu umożliwiającym załadowanie plików.

Już mi to działa.
Nie wiem co było nie tak. Skasowałem wszystko z katalogu.
Stworzyłem od nowa pliki i katalog i działa.

Ten post edytował Theofilos 14.04.2022, 16:59:57
Go to the top of the page
+Quote Post
StrefaPi
post 2.05.2022, 07:30:46
Post #4





Grupa: Zarejestrowani
Postów: 232
Pomógł: 50
Dołączył: 2.03.2013

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


a czy stworzenie takiego rozwiazania nie jest droższe niż zakup podobnego nowego gotowca?

ja bym nie trzymał tego wd kupił nowe rozwiązanie - ten stary dysk ma php które nie jest wspierane, dlaczego sam sobie podkładasz bombe z opoźnionym wybuchem? a tworzenie prostego przesyłana plików w tym systemie też zajmuje za dużo czasu - szkoda go tracić...


--------------------
https://studiostawki.com - studio fotograficzne i filmowe - ul. Inflancka 11, Warszawa
Go to the top of the page
+Quote Post
Theofilos
post 9.05.2022, 16:32:25
Post #5





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

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


Dla mnie nie jest to droższe, bo za dysk nic nie płaciłem. Dysk jest w pewnym sensie wypożyczony. Nie chcę tu rozpisywać się w szczegółach, bo nie o to chodzi.

Na razie dość szybko, dzięki życzliwości różnych osób (forum, blog) znalazłem rozwiązanie do wgrywania plików.
Obecnie problem polega jeszcze na jakimś dziwnym cache’owaniu na poziomie serwera, o czym napisałem w tym wątku.
Potem pozostanie dodanie opcji logowania na stronie. Rozwiązanie też jest dostępne podobno w Internecie. Zatem skorzystam z gotowego źródła dostosowując je do potrzeb.
Poza tym, strona do przesyłania pików będzie dostępna jedynie okresowo, więc jest ograniczone zagrożenie jakimś niepożądanym działaniem wykorzystującym przestarzałe PHP.
W sumie, mógłbym zrezygnować z dodania opcji logowania, ale jeżeli można to zrobić, wykorzystując gotowe rozwiązanie, to warto zrobić.

Ten post edytował Theofilos 9.05.2022, 16:41:53
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 22:33