Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kopiowanie załączników
Forum PHP.pl > Forum > PHP
sumar
Witam.

Mam skrypt którym odczytuje załączniki z maili. Po kliknięciu na link ukazuje mi się monit z możliwością zapisania lub otworzenia pliku.

  1. <?php
  2.  
  3. print &#092;"<A HREF=zalacznik.php?act=get_attachment&\". 
  4. &#092;"type={$attachment[\"type\"]}&\". 
  5. &#092;"subtype={$attachment[\"subtype\"]}&\". 
  6. &#092;"disposition={$attachment[\"disposition\"]}&\". 
  7. &#092;"file=\".rawurlencode($attachment[\"file\"]).\"&encoding={$attachment[\"encoding\"]}&msg_id=$id&\". 
  8. &#092;"part_id={$attachment[\"part\"]}> 
  9. {$attachment[&#092;"file\"]}</A><BR>\"; 
  10.  
  11. ?>


zalacznik.php?act=get_attachment&type=image&subtype=JPEG
&disposition=attachment&file=jakis_plik.jpg&encoding=3
&msg_id=74&part_id=2


oraz skrypt który jest wywoływany tym linkiem

  1. <?php
  2. function get_attachment($mbox){ 
  3.  
  4. header(&#092;"Content-type: {$_GET[\"type\"]} /{$_GET[\"subtype\"]}\"); 
  5. header(&#092;"Content-Disposition: {$_GET[\"disposition\"]}; filename=\".rawurlencode($_GET[\"file\"]).\"\"); 
  6.  
  7. switch ($_GET[&#092;"encoding\"]) { 
  8. case 3: 
  9. print @imap_base64( imap_fetchbody( $mbox,$_GET[&#092;"msg_id\"], $_GET[\"part_id\"])); 
  10. break; 
  11. case 4: 
  12. print @imap_qprint( imap_fetchbody( $mbox,$_GET[&#092;"msg_id\"], $_GET[\"part_id\"])); 
  13. break; 
  14. default: 
  15. print @imap_fetchbody( $mbox,$_GET[&#092;"msg_id\"], $_GET[\"part_id\"]);
  16.  break; } 
  17. //close_mailbox($imap);
  18. }
  19.  
  20. get_attachment($mbox);
  21. ?>


I teraz chodzi o to żeby ten plik po kliknięciu na link zapisać w katalogu na serwerze, (np. poczta/zalaczniki/). Wie ktoś jak to zrobić.

---
można było zawinąć ten niby-link ...
tiraeth
NuLL
Coś podobnego do -ale nie ma jak sprawdzić.
  1. <?php
  2. function save_attachment($mbox){ 
  3.  
  4. $content='';
  5.  
  6. switch ($_GET[&#092;"encoding\"]) { 
  7. case 3: 
  8. $content=@imap_base64( imap_fetchbody( $mbox,$_GET[&#092;"msg_id\"], $_GET[\"part_id\"])); 
  9. break; 
  10. case 4: 
  11. $content=@imap_qprint( imap_fetchbody( $mbox,$_GET[&#092;"msg_id\"], $_GET[\"part_id\"])); 
  12. break; 
  13. default: 
  14. $content=@imap_fetchbody( $mbox,$_GET[&#092;"msg_id\"], $_GET[\"part_id\"]);
  15. break; 
  16. } 
  17. //close_mailbox($imap);
  18.  
  19. file_put_contents('poczta/zalaczniki/'.$_GET['file'],$content);
  20.  
  21. }
  22.  
  23. save_attachment($mbox);
  24. ?>
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.