Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [html][php]upload zdjęć nie działa [function.move-uploaded-file]
Oscar_83
post 31.10.2007, 00:17:17
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

Ostrzeżenie: (0%)
-----


stworzyłem skrypt do uploadu zdjęć (według książki) i przy wgrywaniu wywala błąd
1 plik to "upload_image.htm"
  1. <title>Umieść obrazek w galerii</title>
  2. </head>
  3.  
  4. <form name="form1" method="post" action="check_image.php"
  5. enctype="multipart/form-data">
  6.  
  7. <table border="0" cellpadding="5">
  8. <tr>
  9. <td>Tytuł obrazka<br>
  10. <em>Przykład: mecz Startu z GKS Wikielec</em></td>
  11. <td><input name="image_caption" type="text" id="item_caption" size="55"
  12. maxlength="255"></td>
  13. </tr>
  14. <tr>
  15. <td>Nazwa użytkownika</td>
  16. <td><input name="image_username" type="text" id="item_caption" size="55"
  17. maxlength="255"></td>
  18. </tr>
  19. <tr>
  20. <td>Umieszczany obraz:</td>
  21. <td><input name="image_filename" type="file" id="image_filename"></td>
  22. </tr>
  23. <br>
  24. <em>Przyjmowane są obrazy w formatach: GIF, JPG/JPEG i PNG.</em>
  25. <p align="center"><input type="submit" name="Submit" value="Wyślij">
  26. &nbsp:
  27. <input type="reset" name="Submit2" value="Wyczyść">
  28. </p>
  29. </form>
  30. </body>
  31. </html>


2 plik: "check_image.php"
  1. <?php
  2. //połączenie z bazą danych
  3. $polaczenie = mysql_connect("mysql2.yoyo.pl", "db396325", "***") or die ("SprawdĽ połączenie z serwerem: " . mysql_error());
  4. mysql_select_db('db396325', $polaczenie)
  5. or die (mysql_error());
  6. mysql_query('SET NAMES latin2');
  7.  
  8. //udostępnienie zmiennych
  9. $image_caption = $_POST['image_caption'];
  10. $image_username = $_POST['image_username'];
  11. $image_tempname = $_FILES['image_filename']['name'];
  12. $today = date(Y-m-d);
  13.  
  14. //umieszczenie obrazu i sprawdzenie jego formatu
  15. $ImageDir ="http://www.startnidzica.yoyo.pl/images/";
  16. $ImageName = $ImageDir . $image_tempname;
  17. if (move_uploaded_file($_FILES['image_filename']['tmp_name'], $ImageName)) {
  18.  
  19. //pobranie informacji na temat umieszczonego obrazu
  20. list($width, $height, $type, $attr) = getimagesize($ImageName);
  21.  
  22. switch ($type) {
  23. case 1:
  24.  $ext = ".gif";
  25.  break;
  26. case 2:
  27.  $ext = ".jpg";
  28.  break;
  29. case 3:
  30.  $ext = ".png";
  31.  break;
  32. default:
  33.  echo "Przykro nam, ale przesłany obraz nie jest w formacie GIF, JPG lub " . "PNG.<br>";
  34.  echo "Kliknij przycisk 'Wstecz' w przeglądarce i spróbuj ponownie.";
  35. }
  36.  
  37. //wstawienie informacji do tabeli images
  38. $insert = "INSERT INTO images
  39.  (image_caption, image_username, image_date)
  40.  VALUES
  41.  ('$image_caption', '$image_username', '$today')";
  42. $insertresults = mysql_query($insert)
  43.  
  44. $lastpicid - mysql_insert_id();
  45.  
  46. $newfilename = $ImageDir . $lastpicid . $ext;
  47.  
  48. rename($ImageName, $newfilename);
  49.  
  50. }
  51. ?>
  52.  
  53. <html>
  54. <head>
  55. <title>Oto umieszczony obrazek!</title>
  56. </head>
  57. <body>
  58. <h1>Seniorzy</h1><br<br>
  59. <p>Oto obrazek, który właśnie umieściłeś na serwerze:</p>
  60. <img src="images/<?php echo $lastpicid . $ext; ?>" align="left">
  61. <strong><?php echo $image_caption; ?></strong><br>
  62. Jest to obraz w formacie <?php echo $ext; ?>.<br>
  63. Ma <?php echo $width; ?> pikseli szerokości i
  64. <?php echo $height; ?> pikseli wysokości.<br>
  65. Został umieszczony w dniu <?php echo $today; ?>.
  66. </body>
  67. </html>


wywala błąd taki:
"Warning: move_uploaded_file(http://www.startnidzica.yoyo.pl/images/sklad.jpg) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections. in /var/www/sites/yoyo.pl/s/t/startnidzica/upload/check_image.php on line 18

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/var/www/tmp/phpoVhgso' to 'http://www.startnidzica.yoyo.pl/images/sklad.jpg' in /var/www/sites/yoyo.pl/s/t/startnidzica/upload/check_image.php on line 18"


prooszę o pomoc

Ten post edytował Oscar_83 31.10.2007, 00:51:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
grit
post 31.10.2007, 01:11:16
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 13.05.2004

Ostrzeżenie: (0%)
-----


może się mylę ale patrząc na logi błędów "wrapper does not support writeable connections" i "Unable to move '/var/www/tmp/phpoVhgso' to 'http://www.startnidzica.yoyo.pl/images/sklad.jpg'" stawiał bym na to, że chcesz przesunąć plik z katalogu na serwerze na inny serwer - podałeś w skrypcie pełną ścieżkę URL 'http://www.startnidzica.yoyo.pl...'. Nawet jeśli to ten sam serwer to parser może tego nie akceptować. Spróbuj podać wewnętrzną ścieżkę docelową - coś w stylu '/var/www/images/'
Go to the top of the page
+Quote Post
Oscar_83
post 31.10.2007, 11:54:38
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

Ostrzeżenie: (0%)
-----


a jak sprawdzić jaka jest ta wewnętrzna ścieżka docelowa?
Go to the top of the page
+Quote Post
Prym
post 31.10.2007, 12:18:11
Post #4





Grupa: Zarejestrowani
Postów: 100
Pomógł: 11
Dołączył: 20.05.2007
Skąd: z fotela :)

Ostrzeżenie: (0%)
-----


kod wyswietlajacy sciezke serwera (bez katalogów na serwerze)
Kod
$_SERVER['DOCUMENT_ROOT']
Go to the top of the page
+Quote Post
Oscar_83
post 4.11.2007, 20:09:21
Post #5





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

Ostrzeżenie: (0%)
-----


Wyświetliło:

/htdocs
Go to the top of the page
+Quote Post
tsharek
post 4.11.2007, 21:10:11
Post #6





Grupa: Zarejestrowani
Postów: 300
Pomógł: 1
Dołączył: 22.09.2003
Skąd: Czeladź

Ostrzeżenie: (0%)
-----


nawet w treści błędu masz dokładną ścieżkę;) pozatym zawsze możesz używać relatywnych ścieżek z uruchomionego skryptu

Ten post edytował tsharek 4.11.2007, 21:12:05


--------------------
Go to the top of the page
+Quote Post
Oscar_83
post 11.11.2007, 21:17:02
Post #7





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

Ostrzeżenie: (0%)
-----


Miałem w skrypcie kilka błędów:
- format daty nie był w cudzysłowiu
- $lastpicid - mysql_insert_id(); powinno być = zamiast -

do tego miałem złą ścieżkę którą już poprawiłem i i chmod'a nie miałem ustawionego na 777.
Teraz już niby wszystko oki ale niestety dalej nie chce mi wrzucać obrazków na serwer sad.gif co jest nie tak??

oto teraźniejszy kod:
  1. <?php
  2. //połączenie z bazą danych
  3. $polaczenie = mysql_connect("mysql2.yoyo.pl", "db396325", "***") or die ("SprawdĽ połączenie z serwerem: " . mysql_error());
  4. mysql_select_db('db396325', $polaczenie)
  5. or die (mysql_error());
  6. mysql_query('SET NAMES latin2');
  7.  
  8. //udostępnienie zmiennych
  9. $image_caption = $_POST['image_caption'];
  10. $image_username = $_POST['image_username'];
  11. $image_tempname = $_FILES['image_filename']['name'];
  12. $today = date("Y-m-d");
  13.  
  14. //umieszczenie obrazu i sprawdzenie jego formatu
  15.  
  16. $ImageDir ="/var/www/sites/yoyo.pl/s/t/startnidzica/images/";
  17. $ImageName = $ImageDir . $image_tempname;
  18. if (move_uploaded_file($_FILES['image_filename']['tmp_name'], $ImageName)) {
  19.  
  20. //pobranie informacji na temat umieszczonego obrazu
  21. list($width, $height, $type, $attr) = getimagesize($ImageName);
  22.  
  23. switch ($type) {
  24. case 1:
  25.  $ext = ".gif";
  26.  break;
  27. case 2:
  28.  $ext = ".jpg";
  29.  break;
  30. case 3:
  31.  $ext = ".png";
  32.  break;
  33. default:
  34.  echo "Przykro nam, ale przesłany obraz nie jest w formacie GIF, JPG lub " . "PNG.<br>";
  35.  echo "Kliknij przycisk 'Wstecz' w przeglądarce i spróbuj ponownie.";
  36. }
  37.  
  38. //wstawienie informacji do tabeli images
  39. $insert = "INSERT INTO images
  40.  (image_caption, image_username, image_date)
  41.  VALUES
  42.  ('$image_caption', '$image_username', '$today')";
  43. $insertresults = mysql_query($insert)
  44.  
  45. $lastpicid = mysql_insert_id();
  46.  
  47. $newfilename = $ImageDir . $lastpicid . $ext;
  48.  
  49. rename($ImageName, $newfilename);
  50.  
  51. }
  52. ?>
  53.  
  54. <html>
  55. <head>
  56. <title>Oto umieszczony obrazek!</title>
  57. </head>
  58. <body>
  59. <h1>Seniorzy</h1><br<br>
  60. <p>Oto obrazek, który właśnie umieściłeś na serwerze:</p>
  61. <img src="images/<?php echo $lastpicid . $ext; ?>" align="left">
  62. <strong><?php echo $image_caption; ?></strong><br>
  63. Jest to obraz w formacie <?php echo $ext; ?>.<br>
  64. Ma <?php echo $width; ?> pikseli szerokości i
  65. <?php echo $height; ?> pikseli wysokości.<br>
  66. Został umieszczony w dniu <?php echo $today; ?>.
  67. </body>
  68. </html>


Ten post edytował Oscar_83 11.11.2007, 23:05:42
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 15:30