Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z uploadem pliku do 2 folderow naraz
Forum PHP.pl > Forum > Przedszkole
bastek8989
Witam

Mam problem z uploadem tego samego pliku w tym samym czasie do 2 folderow na serwerze, skrypcik dziala ale uploaduje tylko do jednego folderu (upload/duze)

oto on:
  1. <?php
  2. $MAX_SIZE = 200000000000;
  3.  
  4. $FILE_MIMES = array('application/pdf','video/mpg','video/avi','image/jpeg','image/jpg','image/gif'
  5. ,'image/png','application/msword');
  6.  
  7. $FILE_EXTS = array('.jpg','.png','.gif',);
  8.  
  9. $DELETABLE = false;
  10.  
  11. $site_name = $_SERVER['HTTP_HOST'];
  12. $url_dir = "http://hosting.czechowice.net.pl/~bastek/widzimisie2/upload/duze";
  13. $url_dir2 = "http://hosting.czechowice.net.pl/~bastek/widzimisie2/upload/male";
  14. $url_this = "http://hosting.czechowice.net.pl/~bastek/widzimisie2/upload.php";
  15.  
  16. $upload_dir = "upload/duze/";
  17. $upload_url = $url_dir."/upload/duze/";
  18. $upload_dir2 = "upload/male/";
  19. $upload_url2 = $url_dir2."/upload/male/";
  20. $message ="";
  21.  
  22. /************************************************************
  23. Tworzenie folderu upload
  24. ************************************************************/
  25. if (!is_dir("files")) {
  26. if (!mkdir($upload_dir))
  27. die ("folder nieistnieje");
  28. if (!chmod($upload_dir,0755))
  29. die ("change permission to 755 failed.");
  30. }
  31.  
  32. /************************************************************
  33. * Zapytanie dla usera
  34. ************************************************************/
  35. if ($_REQUEST[del] && $DELETABLE) {
  36. $resource = fopen("log.txt","a");
  37. fwrite($resource,date("Ymd h:i:s")."DELETE - $_SERVER[REMOTE_ADDR]"."$_REQUEST[del]n");
  38. fclose($resource);
  39.  
  40. if (strpos($_REQUEST[del],"/.")>0); 
  41. else if (strpos($_REQUEST[del],$upload_dir) === false); 
  42. else if (substr($_REQUEST[del],0,6)==$upload_dir) {
  43. unlink($_REQUEST[del]);
  44. print "<script>window.location.href='$url_this?message=deleted successfully'</script>";
  45. }
  46. }
  47. else if ($_FILES['userfile']) {
  48. $resource = fopen("log.txt","a");
  49. fwrite($resource,date("Ymd h:i:s")."upload - $_SERVER[REMOTE_ADDR]"
  50. .$_FILES['userfile']['name']." "
  51. .$_FILES['userfile']['type']."n");
  52. fclose($resource);
  53.  
  54. $file_type = $_FILES['userfile']['type'];
  55. $file_name = $_FILES['userfile']['name'];
  56. $file_ext = strtolower(substr($file_name,strrpos($file_name,".")));
  57.  
  58. //Sprawdzanie wielkosci pliku
  59. if ( $_FILES['userfile']['size'] > $MAX_SIZE)
  60. $message = "The file size is over 2MB.";
  61. //Sprawdzanie typu pliku
  62. else if (!in_array($file_type, $FILE_MIMES)
  63. &&!in_array($file_ext, $FILE_EXTS) )
  64. $message = "Przepraszamy, plik $file_name($file_type) niemoze zostac zapisany.";
  65. else
  66. $message = do_upload($upload_dir, $upload_url, $upload_dir2, $upload_url2);
  67.  
  68. print "<script>window.location.href='$url_this?message=$message'</script>";
  69. }
  70. else if (!$_FILES['userfile']);
  71. else
  72. $message = "Zły typ pliku.";
  73.  
  74. /************************************************************
  75. * Lista plikow
  76. ************************************************************/
  77. $handle=opendir($upload_dir);
  78. $filelist = "";
  79. while ($file = readdir($handle)) {
  80. if(!is_dir($file) &&!is_link($file)) {
  81. $filelist .= "<a href='$upload_dir$file'>".$file."</a>";
  82. if ($DELETABLE) {
  83. $delfile = $file;
  84. $delfile = str_replace("%","%25",$delfile);
  85. $delfile = str_replace("&","%26",$delfile);
  86. $delfile = str_replace("+","%2b",$delfile);
  87. $delfile = str_replace("?","%3f",$delfile);
  88. $filelist .= " <a href='?del=$upload_dir".$delfile."' title='delete'>x</a>";
  89. }
  90. $filelist .= "<sub><small><small><font color=grey> ".date("d-m H:i", filemtime($upload_dir.$file))
  91. ."</font></small></small></sub>";
  92. $filelist .="<br>";
  93. }
  94. }
  95.  
  96.  
  97. function do_upload($upload_dir, $upload_url, $upload_dir2, $upload_url2) {
  98.  
  99.  
  100. $temp_name = $_FILES['userfile']['tmp_name'];
  101. $file_name = $_FILES['userfile']['name'];
  102. $file_name = str_replace("","",$file_name);
  103. $file_name = str_replace("'","",$file_name);
  104.  
  105. //Usuwanie rozszerzen .jpg .png .gif z nazwy
  106. $file_name2 = $file_name;
  107. $file_name2 = str_replace(".jpg","",$file_name2);
  108. $file_name2 = str_replace(".gif","",$file_name2);
  109. $file_name2 = str_replace(".png","",$file_name2);
  110. //id
  111. $id = 11;
  112. //liczba znakow w nazwie pliku (z rozszerzeniem)
  113. $id2 = strlen($file_name);
  114. //zmiana nazwy w kolejnosci [nazwa pliku bez rozszerzen][liczba znakow w nazwie][i
    d]
  115. $file_name = $file_name2. $id2. $id. '.'. substr(strrchr($file_name, "."), 1);
  116. $file_path = $upload_dir.$file_name;
  117. $file_path2 = $upload_dir2.$file_name;
  118.  
  119.  
  120. //Sprawdzanie nazwy pliku
  121. if ( $file_name =="") {
  122. $message = "Zła nazwa pliku";
  123. return $message;
  124. }
  125.  
  126. $result = move_uploaded_file($temp_name, $file_path);
  127. $result2 = move_uploaded_file($temp_name, $file_path2);
  128. if (!chmod($file_path,0777))
  129. $message = "Zmienianie CHMD do 777 zakonczylo sie niepowodzeniem.";
  130. else
  131. $message = ($result)?"Plik $file_name zostal pomyslnie zuploadowany" :
  132. "Wystapil blad w uploadowaniu pliku.";
  133. return $message;
  134. }
  135. ?>


Z gory dziekuje temu ktoremu bedzie sie chcialo to przegladnac smile.gif
dr_bonzo
Tak jak myslalem:
  1. <?php
  2. $result = move_uploaded_file($temp_name, $file_path);
  3. $result2 = move_uploaded_file($temp_name, $file_path2);
  4. ?>


jesli juz przeniosles plik, to nie mozesz go drugi raz przeniesc bo go tam nie ma.
bastek8989
to jak moge to zrobic o_O
erix
  1. <?php
  2. copy($file_path, $file_path2);
  3. ?>
bastek8989
kurcze daje do 2 katalogow ale tylko wtedy gdy 2 razuy zuploaduje ten sam plik sleep.gif ratunku!

  1. <?php
  2. $file_path2 = copy($file_path, $file_path2);
  3.  
  4. $result = move_uploaded_file($temp_name, $file_path);
  5. $result2 = move_uploaded_file($temp_name, $file_path2);
  6. ?>
jarrod
a czy choć przez chwilę zastanawiałeś się co ten skrypt robi??
Najpierw kopiujesz nieistniejący plik (a nawet folder) do folderu 2, później przenosisz z /tmp plik do folderu 1 (czyli go również usuwasz z /tmp) a na koniec jeszcze chcesz przenieść usunięty przed chwilą plik.
Ja ci już w tym nie pomogę...
erix
Nie tak tongue.gif
  1. <?php
  2. $file_path2 = copy($file_path, $file_path2);
  3.  
  4. $result = move_uploaded_file($temp_name, $file_path);
  5. $result2 = move_uploaded_file($temp_name, $file_path2);
  6. ?>


  1. <?php
  2. $result = move_uploaded_file($temp_name, $file_path);
  3. $file_path2 = copy($file_path, $file_path2);
  4. ?>
bastek8989
dziala wysmienice (kopiuje bo z tego drugiego bede robil thumby)

thx
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.