Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wrzut zdjęc + info do bazy, nie działa, ale co?
zaaap
post 13.11.2008, 19:36:12
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


Witam,
Pisze sobie maly skrypcik i natrafilem na problem. Opieram sie na skrypcie podanym w jednej z ksiazek do php/mysql. Problemem jest fakt, iz chce wrzucic zdjecie. Bedzie ono skalowane "w locie" aby na roznych stronach mogl byc wyswietlane w roznych rozmiarach. Po rzekomym zaladowaniu newsa ze zdjeciem z dysku nie wyskakuje zaden blad. NAWET jesli bede chcial wrzucic .exe, .pdf czy cokolwiek innego nie ma zadnego bledu.

  1. <?php
  2. if ( (isset($_FILES['image']['name']) &&
  3.      is_uploaded_file($_FILES['image']['tmp_name'])))
  4. {
  5.  
  6.  if (!isset($_REQUEST['artykul']) || $_REQUEST['artykul'] == '')
  7.  {
  8.    $artykul = mysqli_insert_id($lacz);
  9.  }
  10.  $typ = basename($_FILES['image']['type']);
  11.  
  12.  switch ($typ) {
  13.    case 'jpeg':
  14.    case 'pjpeg':   $nazwapliku = "obrazki/$artykul.jpg";
  15.                    move_uploaded_file($_FILES['image']['tmp_name'], '../'.$nazwapliku);
  16.                    $sql = "update artykuly
  17.                            set obrazek = '$nazwapliku'
  18.                            where id = $artykul";
  19.                    $wynik = $lacz->query($sql);
  20.                    break;
  21.    default:        echo 'Nieprawidłowy format obrazka: '.
  22.                          $_FILES['image']['type'];
  23.  }
  24. }
  25. ?>


Jakies pomysly? Dodam, ze dla pewnosci wszystko ma CHMOD 777. Jeszcze sa 2 pliki, ktore maja jakis udzial w calym skrypcie powiazane obrazkiem ale narazie wklejam tylko ten fragment, jako, ze nawet nie ma bledu typu pliku, wiec stawiam, ze cos tu jest nie tak.
Go to the top of the page
+Quote Post
Darti
post 13.11.2008, 19:48:31
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


dopisz sobie do tego :
  1. <?php
  2. else {
  3. echo 'nie działa bo $_FILES['image']['name'] zawiera '.$_FILES['image']['name'];
  4. }
  5. ?>


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
zaaap
post 13.11.2008, 20:02:13
Post #3





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


Wyglada na to, ze
  1. <?php
  2. $_FILES['image']['name']
  3. ?>
jest pusta, tyle, ze jesli usune break; na dole, to pokazuje default ze switcha, czyli mimo ze zmienna jest pusta to jednak wynik if() jest spełniany i petla jest wykonywana. O co tu chodzi?

Ten post edytował zaaap 13.11.2008, 20:06:55
Go to the top of the page
+Quote Post
pinochet
post 13.11.2008, 20:13:47
Post #4





Grupa: Zarejestrowani
Postów: 120
Pomógł: 12
Dołączył: 9.10.2008
Skąd: Tricity.Rumia()

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


to znaczy ze masz zły/nieadekwatny formularz HTML (daj kod)
Go to the top of the page
+Quote Post
zaaap
post 13.11.2008, 20:24:13
Post #5





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


  1. <?php
  2.  
  3. include ('funkcje_dolacz.php');
  4.  
  5. if (isset($_REQUEST['artykul']))
  6.  $a = pobierz_rekord_artykulu($_REQUEST['artykul']);
  7.  
  8. ?>
  9.  
  10. <form action="artykul_wyslij.php" method="post" enctype="multipart/form-data">
  11. <input type="hidden" name="artykul" value="<?php print $_REQUEST['artykul'];?>">
  12. <input type="hidden" name="przeznaczenie"
  13. value="<?php print $_SERVER['HTTP_REFERER'];?>">
  14. <table>
  15.  
  16. <tr>
  17.  <td>Nagłówek<td>
  18. </tr>
  19. <tr>
  20.  <td><input size="80" name="naglowek"
  21.              value="<?php print $a['naglowek'];?>"></td>
  22. </tr>
  23.  
  24. <tr>
  25.  <td>Strona</td>
  26. </tr>
  27. <tr>
  28.  <td>
  29. <?php
  30.  if (isset($_REQUEST['artykul']))
  31.  {
  32.    $sql = "select s.kod, s.opis
  33.            from strony s, uprawnienia_autora ua, artykuly a
  34.            where s.kod = ua.strona and
  35.            ua.autor = a.autor and
  36.            a.id = ".$_REQUEST['artykul'];
  37.  }
  38.  else
  39.  {
  40.    $sql = "select s.kod, s.opis
  41.            from strony s, uprawnienia_autora ua
  42.            where s.kod = ua.strona and
  43.            ua.autor = '{$_SESSION['uwierz_uzyt']}'";
  44.  }
  45.  echo zapytanie_select('strona', $sql, $a['strona']);
  46. ?>
  47.  </td>
  48. </tr>
  49.  
  50. <tr>
  51.  <td> Tekst artykułu (może zawierać znaczniki HTML) </td>
  52. </tr>
  53. <tr>
  54.  <td><textarea cols="80" rows="7" name="tekst_artykulu"
  55.           wrap="virtual"><?php echo $a['tekst_artykulu'];?></textarea>
  56.  </td>
  57. </tr>
  58.  
  59. <tr>
  60.  <td> Lub wysłanie pliku HTML </td>
  61. </tr>
  62. <tr>
  63.  <td><input type="file" name="html" size="40"></td>
  64. </tr>
  65.  
  66. <tr>
  67.  <td>Obrazek</td>
  68. </tr>
  69. <tr>
  70.  <td><input type="file" name="obrazek" size="40"></td>
  71. </tr>
  72.  
  73. <?php
  74. if ($a[obrazek]) {
  75.  $rozmiar   = GetImageSize('../'.$a['obrazek']);
  76.  $szerokosc = $rozmiar[0];
  77.  $wysokosc  = $rozmiar[1];
  78. ?>
  79. <tr>
  80.  <td>
  81.    <img src="<?php echo '../'.$a['obrazek'];?>"
  82.          width="<?php print $szerokosc;?>" height="<?php print $wysokosc;?>">
  83.  </td>
  84. </tr>
  85. <?php
  86.  }
  87. ?>
  88.  
  89. <tr>
  90.  <td align="center"><input type="submit" value="Wysłanie"></td>
  91. </tr>
  92.  
  93. </table>
  94. </form>
Go to the top of the page
+Quote Post
pinochet
post 13.11.2008, 20:45:11
Post #6





Grupa: Zarejestrowani
Postów: 120
Pomógł: 12
Dołączył: 9.10.2008
Skąd: Tricity.Rumia()

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


Cytat(zaaap @ 13.11.2008, 20:24:13 ) *
  1. <?php
  2. <input type="file" name="obrazek" size="40">
  3. ?>


a w kodzie php odwołujesz sie do image :] wbrew pozorów image to nie obrazek biggrin.gif
Go to the top of the page
+Quote Post
zaaap
post 13.11.2008, 21:00:53
Post #7





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


Boze, no dziala, wielkie dzieki. Najglupsze bledy a tyle problemow. Jeszcze raz THX biggrin.gif

Aha i jeszcze jedno, da sie to jakos obejsc? (po wprowadzeniu zlego typu pliku)

Kod
Nieprawidłowy format obrazka: application/vnd.ms-excel
Warning: Cannot modify header information - headers already sent by (output started at /home/zaaap/public_html/rozdzial/admin/artykul_wyslij.php:78) in /home/zaaap/public_html/rozdzial/admin/artykul_wyslij.php on line 84


Tzn wiem, ze przed header nie moze byc zadnego tekstu, to moze wogole wywalic te echo?

Ten post edytował zaaap 13.11.2008, 21:12:41
Go to the top of the page
+Quote Post
Darti
post 13.11.2008, 21:20:41
Post #8





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


albo ob_start" title="Zobacz w manualu PHP" target="_manual


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
zaaap
post 13.11.2008, 22:07:37
Post #9





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


OK. Nie chce zakladac nowego tematu, skoro sprawa dotyczny tego samego skryptu.
Wszystko pieknie ladnie, ale w folderze obrazki, za kazdym razem gdy wrzucam plik ma on nazwe: $artykul.jpg
Czyli wszystkie nowe newsy maja te same zdjecie, nie chce zapisac kazdej oddzielnie. Podejrzewam, ze moze byc jakis problem w tym miejscu:

Kod
$nazwapliku = 'obrazki/$artykul.jpg';


Albo ktos ma inny pomysl? Bo z tego co sie orientuje nazwa pliku ma byc roznoznaczna z nazwa wiadomosci(newsa)

Ten post edytował zaaap 13.11.2008, 22:09:42
Go to the top of the page
+Quote Post
Darti
post 13.11.2008, 23:33:43
Post #10





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


  1. <?php
  2. $nazwapliku = "obrazki/$artykul.jpg";
  3. ?>


p.s. zwróć uwagę na cudzysłowia


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
pinochet
post 14.11.2008, 01:08:14
Post #11





Grupa: Zarejestrowani
Postów: 120
Pomógł: 12
Dołączył: 9.10.2008
Skąd: Tricity.Rumia()

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


albo:
  1. <?
  2. $nazwapliku = 'obrazki/'.$artykul.'.jpg';
  3. ?>
  4. ?>

@Darti: cudzysłowy a pozatym w twoim kodzie jest jeden cudzysłów
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: 9.06.2024 - 02:42