Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> formularz do wgrania pliku
stom123
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.11.2011

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


Witam! Potrzebuję zrobić formularz kontaktowy z zapisem plików na serwer.
Użytkownik podaje nazwę folderu i 36 plików do wgrania (po trzy do każdego miesiąca). Zrobiłam formularz jednak działa on na serwerze lokalnym a jak przenoszę go na hosting to wczytuje tylko pierwsze 20 plików.

Tutaj jest skrypt:
  1. if(isset($_POST['submit'])) {
  2. $folderStr = $_REQUEST['folderName'];
  3. $upload_folder = preg_replace("'\s+'", '-', $folderStr);
  4.  
  5. $upload_path1 = './upload_files/'.$upload_folder.'/1/';
  6. ...
  7. $upload_path12 = './upload_files/'.$upload_folder.'/12/';
  8.  
  9. if(is_dir($upload_path)) {
  10. echo 'wybierz inną nazwę folderu';}
  11. else {
  12. mkdir('./upload_files/'.$upload_folder.'/', 0777);chmod("$upload_path1", 0777);
  13. ...
  14. mkdir('./upload_files/'.$upload_folder.'/', 0777);chmod("$upload_path12", 0777);
  15.  
  16.  
  17. $path1= $upload_path1.$_FILES['uploadArray']['name'][0];
  18. ...
  19. $path36= $upload_path12.$_FILES['uploadArray']['name'][35];
  20.  
  21. if($_FILES['uploadArray']['size'][0]>0)
  22. {
  23. copy($_FILES['uploadArray']['tmp_name'][0], $path1);
  24. echo "Styczeń 1 : ".$_FILES['uploadArray']['name'][0]."<BR/>";
  25.  
  26. }
  27. ...
  28. if($_FILES['uploadArray']['size'][35]>0)
  29. {
  30. copy($_FILES['uploadArray']['tmp_name'][35], $path36);
  31. echo "Grudzień 3 : ".$_FILES['uploadArray']['name'][35]."<BR/>";
  32.  
  33. }
  34. echo "<BR/>Pliki zaladowane";
  35. }
  36. }


  1. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="contactform" enctype="multipart/form-data">
  2.  
  3. <tr>
  4. <td>
  5. <input name="uploadArray[]" type="file" id="uploadArray[]" size="10" />
  6. ...
  7. ...
  8. <input name="uploadArray[]" type="file" id="uploadArray[]" size="10" />
  9. </td>
  10. </tr>
  11. <tr>
  12. <td>
  13. <input type="submit" value="Upload" name="submit" class="button" />
  14. </td>
  15. </tr>
  16. </table>
  17. </form>



I tak jak wspomniałam. Ładuje tylko 20 pierwszych plików. Czy coś trzeba zmienić w ustawieniach hostingu bo na serwerze lokalnym mi działa?

Czy ktoś ma pomysł jak jeszcze inaczej można wgrać pliki na serwer poprzez formularz?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Na 99,99999% tak - możliwe że jest takie ograniczenie - ilości danych albo liczby requestów na hostingu - zgłoszenie do nich powinno pomóc


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
stom123
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.11.2011

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


Ok dzięki za odpowiedź

Mam jeszcze jedno pytanie.
Jak wgrywam na jeden hosting to wszystko jest ok. Pliki są wgrywane poprawnie
Na drugim hostingu nic się nie dzieje. Prawa dostępu są ustawione na 777 ale nie ustala wlasciciela/grupy tzn są ustawione na nobody/nogroup
Jak mogę to zmienić?
Go to the top of the page
+Quote Post
d0man
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.11.2011

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


Witam, temat pasuje to pozwole sobie sie podłączyć wink.gif

Otóż mam lokalny serwer postawiony na server2go w win7.
problem zdaje się polegać na jakimś ograniczeniu typów plików, ktore mogą być przesyłane - taki wniosek wyciągam po 3 dniach poszukiwan i sprawdzania róznych możliwosci.

podczas wysyłania plików (różnej wielkości) zdjęc(gif, jpeg, itp), exe, mp3...

$_FILES['plik'][name] => nazwa_pliku.gif/jpg/exe/mp3
$_FILES['plik'][type] =>
$_FILES['plik'][tmp_name] =>
$_FILES['plik'][error] => 3
$_FILES['plik'][size] => 0

czyli plik przesyła się częściowo, przez co w tablicy $_POST nie ma nawet przycisku Wysyłania (po kliknieciu inputa submit $_POST['submit'] nie istnieje), a w efekcie po wyslaniu formularza odswieza sie po prostu plik php bez żadnych danych.

natomiast , co ciekawe, większe nawet niż powyższe pliki, ale o rozszerzeniach m.in.:

html, sql, css, php, inf, cpp

przesyłają sie bez błędu ($_POST['submit'] wówczas istnieje):
$_FILES['plik'][name] => nazwa_pliku.html | sql | css | php | inf | cpp
$_FILES['plik'][type] => text/css (lub inny)
$_FILES['plik'][tmp_name] => C:\Users\dmn\AppData\Local\Temp\php3F00.tmp
$_FILES['plik'][error] => 0
$_FILES['plik'][size] => xxxx

zauważyłem jeszcze, że mimo brak błędu, w folderze wskazanym przez $_FILES['plik']['tmp_name'] nie ma uploadowanego pliku (ww typu, który nie zwraca błędu), w następstwie czego zapewne funkcja move_uploaded_file() nie przenosi mi go we wskazane miejsce, bo nie ma czego przenosić...

Jeśli to ma znaczenie Biblioteka GD - włączona.

A to ustawienia php.ini pobrane poleceniami ini_get():

display_errors = 1
register_globals = 0
post_max_size = 8M
upload_max_filesize = 2M
post_max_size+1 = 9

oczywiscie w znaczniku <form> dałem enctype="multipart/form-data"
jest również pole hidden name="MAX_FILE_SIZE" o dostatecznie dużej wartości... jego usuniecie nic nie zmienia

czy jest coś jeszcze co mógłbym sprawdzić by rozwiązać ten problem?
Go to the top of the page
+Quote Post
abort
post
Post #5





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


Kod
upload_max_filesize = 2M

Cosik mały rozmiar jak na mp3, czy exe. A zdjęcie? Cóż, zgrane bezpośrednio z aparatu na pewno jest większe. Przeskalowane powinno się zmieścić.

Zwiększ do wymaganej przez ciebie wartości i zrestartuj serwer www.

Ten post edytował abort 14.11.2011, 21:17:44
Go to the top of the page
+Quote Post
d0man
post
Post #6





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.11.2011

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


sprawdzałem na plikach poniżej 2mb oczywiscie, wiec to raczej nie to...
obrazy o wadze ~10-100kb też nie wchodzą
sprawdzane mp3 mialy maksimum okolo 1,5 mb, krótkie wavy tez nie wchodziły, natomiast playlista m3u (jak i inne ww.) wczytała sie do tablicy, ale w katalog tymczasowy wyswietlony w $_FILES[plik][tmp_name] nie istnieje mimo to.

dziwna sprawa

PS dla pewnosci jednak, zwiekszylem max_file_size do 8M w kazdym razie i nic sie nie zmieniło...

Ten post edytował d0man 16.11.2011, 17:05:43
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 14:58