Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Upload raz jeszcze
Forum PHP.pl > Forum > PHP
irysek110
Mam pytanie: czy plik uploadowany zostaje przeniesiony z komputera użytkownika za pomocą funkcji is_uploaded_file() i move_uploaded_file() od razu po wywołaniu tych funkcji, czy też po zakończeniu całego skryptu?

Bo mam skrypt, który uploaduje pliki graficzne, po czym próbuje je przeskalować. Ale gdy dochodzi do próby skalowania to php twierdzi, że w podanej lokalizacji nie ma danego pliku (a upload działa na 100% poprawnie).

Dzięki
nospor
po uploadzie plik znajduje się od razu na serwerze, potem robisz z nim co chcesz. Każda funkcja działa natycmiastowo. Pytanie, jak tego używasz. Może w tym twki błąd.
irysek110
W takim razie mam taki kod:

  1. <?
  2.  
  3.  if ((!$nazwa) ||(!$opis) || (!$ilosc_dni) || (!$cena_wywolawcza) || (!$kryterium) )
  4.  {
  5. echo &#092;"<p>Nie podano wszystkich wymaganych danych.</p>\";
  6. echo &#092;"<a href=\"dodawanie_artykulu.php\">Wróć</a>\";
  7.  }
  8.  if ( ($ilosc_dni>10) || ($ilosc_dni<1) )
  9.  {
  10.  echo &#092;"<p>Niepoprawna ilosć dni na NetAukcji!</p>\";
  11. echo &#092;"<a href=\"dodawanie_artykulu.php\">Wróć</a>\";
  12.  }
  13. else
  14.  {
  15.  
  16.  $db=mysql_pconnect(&#092;"localhost\",\"root\",\"ppp\");
  17. if ($db)
  18.  {
  19. mysql_select_db(&#092;"aukcja\");
  20.  
  21.  
  22. if ($wstaw)
  23.  {
  24.  
  25. $plikuzytkownika = $HTTP_POST_FILES['plikuzytkownika']['tmp_name'];
  26.  
  27. $plikuzytkownika_name = $HTTP_POST_FILES['plikuzytkownika']['name'];
  28.  
  29. $plikuzytkownika_size = $HTTP_POST_FILES['plikuzytkownika']['size'];
  30.  
  31.  
  32. $plikuzytkownika_error = $HTTP_POST_FILES['plikuzytkownika']['error'];
  33.  
  34.  if (strlen($plikuzytkownika_name)!=0)
  35. {
  36. if ($plikuzytkownika_error > 0)
  37.  {
  38.  echo 'Problem: ';
  39.  switch ($plikuzytkownika_error)
  40. {
  41. case 1: echo 'Rozmiar pliku przekroczył wartość
  42. upload_max_filesize'; break;
  43. case 2: echo 'Rozmiar pliku przekroczył wartość
  44. max_file_size'; break;
  45. case 3: echo 'Plik wysłany tylko częściowo'; break;
  46. case 4: echo 'Nie wysłano żadnego pliku'; break;
  47. }
  48.  }
  49. $lokalizacja = 'c:/inetpub/wwwroot/Magisterka/stronki_zmienione/up_photos/'.$plikuzytkownika_name;
  50.  
  51.  // is_uploaded_file and move_uploaded_file dodane w wersji 4.0.3
  52.  if (is_uploaded_file($plikuzytkownika))
  53. {
  54. if (!move_uploaded_file($plikuzytkownika, $lokalizacja))
  55.  {
  56.  echo 'Problem: Plik nie może być skopiowany do katalogu';
  57.  exit;
  58.  }
  59. }
  60.  else
  61. {
  62. echo 'Problem: możliwy atak podczas wysyłania pliku. Nazwa pliku: '.$plikuzytkownika_name;
  63. }
  64. echo $plikuzytkownika_name;
  65. require(&#092;"skalowanie2.php\");
  66. $przeskalowanie = resizeImage(&#092;"c:/inetpub/wwwroot/Magisterka/stronki_zmienione/up_photos/$plikuzytkownika_name\", '150', '120');
  67. /*if (!$przeskalowane)
  68.  {
  69. echo \"Zdjęcie nie zostało przeskalowane\";
  70.  
  71.  }*/
  72. echo &#092;"<center>Artykul przyjęty do bazy</center>\";
  73. echo &#092;"<br /><center>Zlecenie przyjęto do realizacji dnia :&nbsp;&nbsp;\";
  74. echo date(&#092;"H:i, jS F\");
  75. echo &#092;"<br /><br /><center>Zdjęcie załączone<br /><br />\";
  76. echo &#092;"<br /><center><a href=\"dodawanie_artykulu.php\">Powrót</a>\";
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  }
  83.  else
  84.  {
  85. echo &#092;"Artykul przyjęty do bazy\";
  86. echo &#092;"<br /><p>Zlecenie przyjęto do realizacji dnia :&nbsp;&nbsp;<br />\";
  87. echo date(&#092;"H:i, jS F\");
  88. echo &#092;"<br /><a href=\"dodawanie_artykulu.php\">Powrót</a></p>\";
  89.  }
  90. }
  91. }
  92. else
  93. {
  94. echo &#092;"<p>Podany login nie istnieje!</p>\";
  95. echo &#092;"<a href=\"dodawanie_artykulu.php\">Powrót</a>\";
  96. }
  97. }
  98.  }
  99. ?>
nospor
robisz skalowanie na pliku:
c:/inetpub/wwwroot/Magisterka/stronki_zmienione/up_photos/$plikuzytkownika_name
a kopiujesz pod adres $lokalizacja. Najwyrażniej te dwie lokalizacje są różne.
Daj se
  1. <?php
  2.  
  3. echo &#092;"$lokalizacja <br>c:/inetpub/wwwroot/Magisterka/stronki_zmienione/up_photos/$plikuzytkownika_name\";
  4.  
  5. ?>

i porównaj czy są takie same
irysek110
W takim razie mam taki kod:

  1. <?php
  2.  
  3. $plikuzytkownika = $HTTP_POST_FILES['plikuzytkownika']['tmp_name'];
  4.  
  5. $plikuzytkownika_name = $HTTP_POST_FILES['plikuzytkownika']['name'];
  6.  
  7. $plikuzytkownika_size = $HTTP_POST_FILES['plikuzytkownika']['size'];
  8.  
  9. $plikuzytkownika_error = $HTTP_POST_FILES['plikuzytkownika']['error'];
  10.  
  11.  
  12. if (strlen($plikuzytkownika_name)!=0)
  13. {
  14. if ($plikuzytkownika_error > 0)
  15.  {
  16. echo 'Problem: ';
  17. switch ($plikuzytkownika_error)
  18. {
  19.  case 1: echo 'Rozmiar pliku przekroczył wartość upload_max_filesize'; break;
  20.  case 2: echo 'Rozmiar pliku przekroczył wartość max_file_size'; break;
  21.  case 3: echo 'Plik wysłany tylko częściowo'; break;
  22.  case 4: echo 'Nie wysłano żadnego pliku'; break;
  23.  }
  24.  exit;
  25.  }
  26. $lokalizacja = 'c:/.../up_photos/'.$plikuzytkownika_name;
  27.  
  28.  if (is_uploaded_file($plikuzytkownika))
  29. {
  30. if (!move_uploaded_file($plikuzytkownika, $lokalizacja))
  31.  {
  32.  echo 'Problem: Plik nie może być skopiowany do katalogu';
  33.  exit;
  34.  }
  35. }
  36.  require(&#092;"skalowanie2.php\");
  37.  $przeskalowanie = resizeImage(&#092;"c:/.../up_photos/$plikuzytkownika_name\", '150', '120');
  38. }
  39.  
  40. ?>


i jak widzicie wywołuję funkcję do przeskalowania zdjęć, ale niestety...ta funkcja wyrzuca mi, że w podanej lokalizacji nie ma takiego zdjęcia o podanej nazwie. A precież lokalizacja do uploadu pliku i ścieżka dostępu do plików graficznych jest taka sama...
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.