Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zalacznik w formularzu
Forum PHP.pl > Forum > Przedszkole
ppsi
Witam Mam dosc powazny klopocik.Jak dotej pory zawsze znalazlem wsparcie na tym forum i mam nadziej ze i tym razem uda mi sie wspolnie z Wami rozwiac ten problemik. Wiec mam formularz i chcialem zrobic opcje zalczenia pliku. Uzylem do tego pola
Kod
<input type="file" name="filename">

i skryp wysyla sobie zalcznik. Niesty te rozwianie calkwicie mi nie odpowiada . Wiec chce zrobic ,aby to wygladalo nastepujaco pole [FILE] gdzie mozna wprowadzic plik do zalacznika i zaras obo [BUTTON_ZALACZ] jesli uzytkownik kliknie [BUTTON_ZALACZ] plik o wybranej nazwie pojawi sie na formularzu a obok niego [BUTTON_USUN] . Calas ma dzialac ze uzytkownik wybybieze jakis plik klinie [button_zalacz] plik ktory wybieze pojawi sie z jego nazwa w formularza zaras w rejonie pola do zalaczania pliku [FILE] i obok nazwy tego pliku pojawi sie [BUTTON_USUN]. Pole [file] pozwala na wybranie pliku pole [BUTTON_ZALACZ] zalacza wybrany plik do formularza i wyswietla go a pole [BUTTON_USUN] pozwala uzytkownikowi na usuniecie zalaczonego pliku. Zalacznik wraz z calymi danymi z formularza zostanie dopiero wyslany jesli kilkniemy [WYSIJ]
Zrobilem juz skryp ktory obsluguje zalacznik wyglada on nastepujaco
  1. <?php 
  2. $boundary = "-->===_54654747_===<---->>4255==_"; 
  3.  
  4. $head = "From: ProPsi@com.pln"; 
  5. $head = $head . "Reply-To: $emailn"; 
  6. $head = $head . "X-Mailer: phpn"; 
  7. $head = $head . "X-Sender: ProPsi@com.pln"; 
  8. $head = $head . "MIME-version: 1.0n"; 
  9. $head = $head . "Content-type: multipart/mixed; "; 
  10. $head = $head . "boundary="$boundary"n"; 
  11. $head = $head . "Content-transfer-encoding: 7BITn"; 
  12. $head = $head . "X-attachments: $filename_name;nn"; 
  13.  
  14.  
  15.  
  16. $mesg = "--" . $boundary . "n";  
  17. $mesg = $mesg . "Content-Type: text/plain; charset="us-ascii"nn"; 
  18. $mesg = $mesg 
  19. .$imie = "IMIE: $imie" ."n" 
  20. .$nazwisko = "NAZWISKO: $nazwisko" ."n" 
  21. .$adres = "ADRES: $adres" ."n" 
  22. .$telefon = "NR TELEFONU: $telefon" ."n" 
  23. .$email = "E-MAIL: $email" ."n"; 
  24. $mesg = $mesg . "--" . $boundary . "n";  
  25. $mesg = $mesg . "Content-type: " . $filename_type . "; name="$filename_name";n";
  26. $mesg = $mesg . "Content-Transfer-Encoding: base64n"; 
  27. $mesg = $mesg . "Content-disposition: attachment; filename= "$filename_name"nn"; 
  28. $mesg = $mesg . fileopenanddecode($filename) . "n";
  29. $mesg = $mesg . "--" . $boundary . "-- n"; 
  30.  
  31.  
  32.  
  33. function fileopenanddecode($file) { 
  34. if (is_readable($file)) { 
  35.  $fd = fopen($file, "r"); 
  36.  $plik = fread($fd, filesize($file)); 
  37.  $encoded = chunk_split(base64_encode($plik)); 
  38.  fclose($fd);
  39. } 
  40. return $encoded; 
  41. } 
  42.  
  43.  
  44.  
  45. mail("kaczor4@o2.pl", "ProPsi", $mesg , $head);  
  46.  
  47. ?>

Nie mam tylko pomylu jak rozwiazac powyzszy problem czy ktos jest w stanie mi pomoc? Wiem ze to pewnie spore wyzwanie ale tylko na tym FORUM moge uzyskac odpowiedz na to pytanie z ktorym walcze od kilku dni. Wiec raz jeszcze prosze o pomoc z ktora bede bardzo wdzieczny.Mysle ze temat jest interesujacy i jego rozwiazanie przyda sie wielu uzytkownikom tego forum Dziekuj slicznie i pozdrwiam calutkie forum papaptki
Gość_Rysiek
Ja posiadam taki skrypt:

plik.php
  1. <?php
  2. $file = $HTTP_POST_FILES["plik"]["tmp_name"];
  3. $zapisz_jako = $HTTP_POST_FILES["plik"]["name"];
  4.  
  5. if (!copy($file, $zapisz_jako)) {
  6.  
  7.  print ("<center><table><td style=' text-align: center;font-family: verdana, arial, helvetica, sans-serif; padding-top: 2px; padding-bottom: 2px; height: 18px; background: #d6e0f8; white-space: nowrap; border-top: 1px solid #7790b6; border-bottom: 1px solid #7790b6; font-size: 10.5pt; font-weight: bold; white-space: nowrap; color: #4d4d4d'>Error!</td></tr></center><tr>
  8. <td style='background: #f2f2f2; padding: 4px; text-align: center;border-bottom: 1px solid #4470b9;'>
  9. <span class='small'><b>Kopiowanie pliku nie powiodło się...</b></spam></form></td></table></center><br>n");
  10. } 
  11.  
  12. print "<center><table><td style=' text-align: center;font-family: verdana, arial, helvetica, sans-serif; padding-top: 2px; padding-bottom: 2px; height: 18px; background: #d6e0f8; white-space: nowrap; border-top: 1px solid #7790b6; border-bottom: 1px solid #7790b6; font-size: 10.5pt; font-weight: bold; white-space: nowrap; color: #4d4d4d'>Info o pliku!</td></tr></center><tr>
  13. <td style='background: #f2f2f2; padding: 4px; text-align: center;border-bottom: 1px solid #4470b9;'>
  14. <span class='small'><br><BR><b>Nazwa pliku:</b> ".$HTTP_POST_FILES["plik"]["name"];
  15.  
  16. print "<BR><b>Rozmiar pliku:</b> ".$HTTP_POST_FILES["plik"]["size"];
  17.  
  18. print "<BR><b>Typ przesłanego pliku:</b> ".$HTTP_POST_FILES["plik"]["type"];
  19.  
  20. print "<center></spam></form></td></table></center>"
  21.  
  22. ?>


i index.html
Kod
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title># By Maciej Kozlowski #</title>
</head>
<body>
<center>
<table>
<td style=" text-align: center;font-family: verdana, arial, helvetica, sans-serif; padding-top: 2px; padding-bottom: 2px; height: 18px; background: #d6e0f8; white-space: nowrap; border-top: 1px solid #7790b6; border-bottom: 1px solid #7790b6; font-size: 10.5pt; font-weight: bold; white-space: nowrap; color: #4d4d4d">Wybierz plik!</td>    </tr>
    <tr>
  <td style="background: #f2f2f2; padding: 4px; text-align: center;border-bottom: 1px solid #4470b9;">
  <form action="plik.php" method="post" enctype="multipart/form-data">
  <span class="small">
<br>Wybierz plik do przeslania:</br><small>(nie wiekszy niz 1 MB)</small><br><br><input type="file" name="plik"></span>
  <br><br><input type="submit" value="Wyslij">
  </form>
    </td>
</table>
</center>
</body>
</html>


Kto mi teraz powie jak zrobić ograniczenia takie jak:
Maxymalny rozmiar przesyłanego pliku 1024 KB (1 MB)
I typy plików jakie można przesyłać?
Do jakiego katalogu mają byc przesyłane pliki ?

// Mam bardzo małe doświadczenie z php smile.gif Ale szybko się ucze!
Pozdrawiam Rysiek smile.gif (nie z klanu) biggrin.gif
ppsi
Witam zupelnie nie o to mi chodzilo ten skryp dzial calkiem inaczej niz opisywalem w POSCIE. Prosz o pomoc jak to wykonac. Z gory dziekuje i pozdrowk dla calego forum.Papptki
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.