Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: upload, download i kasowanie
Forum PHP.pl > Forum > PHP
dabb
Witam

Pisze sobie modul downloadu do systemy newsow.
Mam taki kod i dalej nie wiem jak to ruszyc.....
  1. <?php
  2. if($member_db[1] != 1){ msg(&#092;"error\", \"Dostêp zabroniony\", \"Nie masz uprawnieñ\"); }
  3. echoheader(&#092;"files\",\"Files\");
  4. $version = &#092;"0.0.1\";
  5. $config_path_file_upload = &#092;"./data/upfiles\";
  6. $config_path_file_download = &#092;"http://localhost/cute/data/upfiles\";
  7. $file = &#092;"./data/files.db.php\";
  8. $allowed_extensions = array(&#092;"pdf\", \"zip\", \"rar\", \"doc\", \"xls\");
  9. if($subaction == &#092;"upload\")
  10. {
  11.  if(!$plik)
  12.  {
  13.  $plik = $HTTP_POST_FILES['plik']['tmp_name'];
  14.  }
  15.  if(!$plik_name)
  16.  {
  17.  $plik_name = $HTTP_POST_FILES['plik']['name'];
  18.  }
  19.  $plik_name = str_replace(&#092;" \", \"_\", $plik_name);
  20.  $img_name_arr = explode(&#092;".\",$plik_name);
  21.  $type = end($img_name_arr);
  22.  if($plik_name == &#092;"\")
  23.  {
  24.  $img_result = &#092;"<br><font color=red>No File Specified For Upload !!!</font>\";
  25.  }
  26. elseif( !isset($overwrite) and file_exists($config_path_file_upload.&#092;"/\".$plik_name))
  27. {
  28. $img_result = &#092;"<br><font color=red>plik already exist !!!</font>\";
  29. }
  30. elseif( !(in_array($type, $allowed_extensions) or in_array(strtolower($type), $allowed_extensions)) )
  31. {
  32. $img_result = &#092;"<br><font color=red>This type of file is not allowed !!!</font>\";
  33. }
  34. else
  35. {
  36. @copy($plik, $config_path_file_upload.&#092;"/\".$plik_name) or $img_result = \"<font color=red>Couldn't copy file to server</font><br />\";
  37. if(file_exists($config_path_file_upload.&#092;"/\".$plik_name))
  38. {
  39. $img_result = &#092;"<br><font color=green>file was uploaded</font>\";
  40.  }
  41.  
  42.  }
  43.  }
  44.  echo&#092;"<table border=0 cellpading=0 cellspacing=0 width=100%>
  45.  <FORM action='$PHP_SELF?mod=files' METHOD='POST' ENCTYPE=&#092;"multipart/form-data\">
  46.  <input type=hidden name=subaction value=upload>
  47.  <input type=hidden name=area value='$area'>
  48.  <input type=hidden name=action value='$action'>
  49.  <td height=33>
  50. <b>Upload plik</b>
  51. <table border=0 cellpading=0 cellspacing=class=&#092;"panel\" cellpadding=8>
  52.  <tr>
  53.  <td height=25>
  54.  <input type=file name=plik size=23><br><br>
  55. <input type=input name=opis size=23><br><br>
  56. <input type=submit value='Upload'><br><br>
  57.  <input type=checkbox name=overwrite value=1> Overwrite if exist?<br><br>
  58.  <b>$img_result</b></tr>
  59.  </form>
  60.  </table>
  61. </table>&#092;";
  62. //////////////////
  63. /////////
  64. if(isset($plik,$opis))
  65. {
  66. $plik = trim($plik);
  67. $opis = trim($opis);
  68. $found = FALSE;
  69. $file = &#092;"./data/files.db.php\";
  70.  
  71. $res = fopen($file,&#092;"a\");
  72. fwrite($res,$config_path_file_download.&#092;"/\".$plik_name.\"|\".$opis.\"n\");
  73. fclose($res);
  74. }
  75. /////////////////
  76. /////////
  77.  
  78. $p = file('./data/files.db.php');
  79. $tmpcount = count($p);
  80. for ($i = 1; $i < $tmpcount; $i++) {
  81.  $l = explode('|', trim($p[$i]));
  82.  
  83. printf(&#092;"$i - <A HREF=\"$l[0]\">$l[1]</a><br>\");
  84. }
  85. ////////
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92. echofooter();
  93. ?>


1. Jak zrobic zeby przy uploadzie plik ktory jest zapisywany na serwerze dodal sie takze do pliku txt (bazy) i zeby przy odswiezaniu strony nie pojawialy sie nowe wpisy?

2. I jak teraz usuwac pliki jednoczesnie z pliku i z katalogu gdzie zostal uploadowany?

3. Skrzynke piwa wysle kurierem smile.gif

Pozdrawiam
bendi
Po pierwsze przerzuc sie z kodu php3 na php4, czyli skorzsytaj z tablicy $_FILES.
Tutaj pewnie tez bylo to juz walkowane mnostwo razy, ale ze na webhelpie zostawilem pare kawalkow kodu, to skieruje Cie tam:
http://forum.webhelp.pl/viewtopic.php?t=60...ight=files+name
http://forum.webhelp.pl/viewtopic.php?t=59...ight=files+name
http://forum.webhelp.pl/viewtopic.php?t=41...ight=files+name
http://forum.webhelp.pl/viewtopic.php?t=38...ight=files+name
http://forum.webhelp.pl/viewtopic.php?t=39...ight=files+name

(Poza tym mozesz jeszcze poszukac po move_uploaded_file w dziale php i bazy danych).

Druga sugestia ktora mi przychodzi do glowy, to zamiast sprawdzac rozszerzenia plikow skorzystaj z typow mime, ktore sa przesylane w naglowkach, bo sprawdzanie rozszerzenia to dosc zawodny sposob ( $_FILES['nazwa']['type'] ).

To tyle jezeli chodzi o moja osobe, gotowego kodu nie dostaniesz, bo to by bylo za proste.

Powodzenia exclamation.gif
dabb
No dobra ale z tych linkow co podales to sie niczego nowego nie dowiem - bo tam sam tylko przyklady wyslania pliku na serwer. A mi chodzi o cos innego sad.gif

Ale i tak bardzo dziekuje za pomoc.
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.