Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z wygraniem pliku .htm formularz.
Forum PHP.pl > Forum > Przedszkole
przemo191
Witam, mam problem z wgraniem pliku .htm na serwer poprzez normalny formularz w html.
Każdy inny typ pliku idzie (pdf, html, jpg, xml)?
Wiecie może coś na ten temat?
strife
Podaj więcej informacji. Jaki formularz?
Jak wygląda plik, który odbiera dane i uploaduje na serwer itp.
przemo191
Formularz
  1. <form action="?action=add_event&page=sub-page" method="post" enctype="multipart/form-data">
  2. Event name (required format xml,pdf,jpg,xls,html): <input type="text" name="event_name"/></br>
  3. Term event: <input type="text" name="event_time"/></br>
  4. Town: <input type="text" name="town" value=""/></br>
  5. Country: <input type="text" name="country" value=""/></br>
  6. File: <input type="file" name="xml_file"/></br>
  7. <input type="hidden" name="spr" value="1"/>
  8. <input type="submit" value="Upload"/>
  9.  
  10. </form>';

Skrypt
  1. $plik_tmp = $_FILES['xml_file']['tmp_name']; // Tymczasowa nazwa uploadowanego pliku
  2. $plik_nazwa = $_FILES['xml_file']['name']; // Orginalna nazwa pliku uploadowanego przez uzytkownika
  3. $plik_rozmiar = $_FILES['xml_file']['size']; // Rozmiar pliku w Byte'ach
  4. $rozmiar = $plik_rozmiar / 1000; // A tu zrobimy z nich kB
  5. $is_plik = explode('.', $plik_nazwa); // dzielimy nazwe uploadowanego pliku na tablice
  6. $is_plik[1] = strtolower($is_plik[1]); // zmniejszamy nazwe rozszerzenia
  7.  
  8. if (($is_plik[1] == 'xml')||($is_plik[1]=="html")||($is_plik[1] == 'pdf')||($is_plik[1] == 'jpg')||($is_plik[1] == 'jpeg')||($is_plik[1] == 'xls')||($is_plik[1] == 'xlsx')||($is_plik[1] == 'HTM')){ // sprawdzamy poprawnosc pliku
  9.  
  10. if(is_uploaded_file($plik_tmp)) { // Jesli plik zostal poprawnie zuploadowan
  11.  
  12. if($_POST['event_name']>""){
  13.  
  14. if($is_plik[1] == 'xml'){ // dodawania tabel z xml
  15. $xml = simplexml_load_file($plik_tmp);
  16. $id_event=$GLOBALS['id_event'];
  17. //zmiana nazwy pliku xml i wrzucenie go na serwer
  18. $is_plik[0]= str_replace(" ", "_", $is_plik[0]);
  19.  
  20. $plik_nowa_nazwa=$is_plik[0].date('h-i-s').'.'.$is_plik[1];
  21. move_uploaded_file($plik_tmp,$_SERVER['DOCUMENT_ROOT'].'/wp-content/plugins/obsluga_xml/results_pdf_xls_jpg_html/'.$plik_nowa_nazwa);
  22.  
  23. # dodanie informacji o evencie do tabeli event
  24. foreach ($xml->competition as $com) {
  25. add_event($com['Description'], $com['Date'], $com['Country'], $com['Town'], $com['Category'], $com['Pool'], $id_event, $_POST['event_name'],$is_plik[1], $_POST['event_time'],$plik_nowa_nazwa);
  26. }
  27. $id_event=$GLOBALS['id_event'];
  28. echo "</br>Dane o evencie zostały dodane</br>";
  29. # dodanie danych eventu do tabeli data_xml
  30. foreach ($xml->row as $row) {
  31. add_data($row['Date'], $id_event, $row['Time'], $row['CompStatus'], $row['Sex'], $row['Phase'], $row['Pos'], $row['GlobalPos'], $row['Id'], $row['Bib'], $row['Name'], $row['GName'], $row['Nation'], $row['Total'], $row['F_Pos'], $row['F_PerfV'], $row['F_PerfD'], $row['F_Points'], $row['S_Heat'], $row['S_Lane'], $row['S_Pos'], $row['S_Perf'], $row['S_Points'], $row['R_StartTime'], $row['R_Horse'], $row['R_Pos'], $row['R_CoursePen'], $row['R_Time'], $row['R_TimePen'], $row['R_Points'], $row['C_Pos'], $row['C_Numer'], $row['C_Heat'], $row['C_Perf'], $row['C_Points'],$row['F_Status'],$row['S_Status'],$row['R_Status'],$row['C_Status'],$row['GName2'],$row['GName3'],$row['Name2'],$row['Name3'],$row['R_Horse2'],$row['R_Horse3']);
  32. }
  33.  
  34. }
  35. if(($is_plik[1]=="html")||($is_plik[1] == 'pdf')||($is_plik[1] == 'jpg')||($is_plik[1] == 'jpeg')||($is_plik[1] == 'xls')||($is_plik[1] == 'xlsx')||($is_plik[1] == 'HTM')){// dodawanie link do plikow
  36.  
  37. $is_plik[0]= str_replace(" ", "_", $is_plik[0]);
  38. $plik_nowa_nazwa=$is_plik[0].date('h-i-s').'.'.$is_plik[1];
  39. move_uploaded_file($plik_tmp,$_SERVER['DOCUMENT_ROOT'].'/wp-content/plugins/obsluga_xml/results_pdf_xls_jpg_html/'.$plik_nowa_nazwa);
  40. add_event('','',$_POST['country'],$_POST['town'],'','', $id_event, $_POST['event_name'],$is_plik[1], $_POST['event_time'],$plik_nowa_nazwa);
  41.  
  42. }
  43. }
  44. echo "</br>Dane eventu zostały dodane</br>";
  45. }else{
  46. echo "</br>Brak nazwy eventu</br>";
  47. }
  48.  
  49. }
  50.  
  51. } else {
  52. if ($plik_nazwa == NULL) { // Jesli plik jest pusty
  53. echo "Wybierz plik xml,pdf lub jpg.";
  54. } else { // Jesli format jest zly
  55. echo 'Nie poprawny format pliku!';
  56. }
  57. }


Ale co najdziwniejsze, to wszystko działa ale nie dla pliku htm. Html, pdf, xml, wchodza oprócz htm.
fate
  1. if(($is_plik[1]=="html")||($is_plik[1] == 'pdf')||($is_plik[1] == 'jpg')||($is_plik[1] == 'jpeg')||($is_plik[1] == 'xls')||($is_plik[1] == 'xlsx')||($is_plik[1] == 'HTM')){// dodawanie link do plikow
  2.  


bo duże
przemo191
W nazwie pliku wysłanego też jest z dużych. Po zmianie na małe też jest to samo. Sprawdzone przed napisaniem prośby smile.gif
Z tego co pamiętam operator === miałby tu znaczenie.
Dlatego to jest najgorsze, bo już wszystkiego probowalem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.