Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> upload pliku do bazy lub na serwer, zmiany, sugestie, bledy
szamo
post 9.11.2005, 05:00:33
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.03.2003
Skąd: Zgorzelec

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


w orginale skrypt wyglada tak:

  1. <html>
  2. <head></head>
  3. <body>
  4.  
  5. <?php
  6. // code that will be executed if the form has been submitted:
  7.  
  8. if ($submit) {
  9.  
  10.     // connect to the database
  11.     // (you may have to adjust the hostname,username or password)
  12.  
  13.     MYSQL_CONNECT("host","root","pass");
  14.     mysql_select_db("db_name");
  15.  
  16.     $data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
  17.  
  18.     $result=MYSQL_QUERY("INSERT INTO img (description,bin_data,filename,filesize,filetype) ".
  19.         "VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");
  20.  
  21.     $id= mysql_insert_id();
  22.     print "<p>This file has the following Database ID: <b>$id</b>";
  23.  
  24.     MYSQL_CLOSE();
  25.  
  26. } else {
  27.  
  28.     // else show the form to submit new data:
  29. ?>
  30.  
  31.     <form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
  32.     Opis pliku:<br>
  33.     <input type="text" name="form_description"  size="40">
  34.     <input type="hidden" name="MAX_FILE_SIZE" value="10000000">
  35.     <br>Plik:<br>
  36.     <input type="file" name="form_data"  size="40">
  37.     <p><input type="submit" name="submit" value="submit">
  38.     </form>
  39.  
  40. <?php
  41.  
  42. }
  43.  
  44. ?>
  45.  
  46. </body>
  47. </html>


chciałem go sobie przerobić i wyszło mi takie cuś:

  1. <HTML>
  2. <HEAD>
  3. </HEAD>
  4. <?
  5. require("polacz.htm");
  6.  
  7. function usun_zdj($id_obrazki, $tabela = "obrazki") {
  8.    $query = "delete from $tabela where id='$id_obrazki'";
  9.    $wynik = mysql_query($query);
  10.    if(!$wynik) {
  11.       print "Nie udało się.";
  12.    } else {
  13.       print "Udało się.<br>Poprawiłem ".mysql_affected_rows()." wiersz(y).";
  14.    }
  15. }
  16.  
  17. function edytuj_zdj($id_obrazki, $tabela, $form_description, $data, $form_data_name,
  18. $form_data_size, $form_data_type, $rodzaj) {
  19.    if(!$id_obrazki) {
  20.       $pobierz = mysql_query("select*from obrazki order by rodzaj,id");
  21.       echo "<table>";
  22.       echo "<tr><td>Akcja</td><td>Nazwa</td><td>Rodzaj</td><td>Obrazek</B></td></tr>";
  23.       while ($rekord = mysql_fetch_array($pobierz)) {
  24.            echo "<tr><td><a href=obrazki.php?akcja=edit&news=$rekord[id]>edytuj</a></td>
  25. <td><a href=obrazki.php?akcja=delete&news=$rekord[id]>usuń</a></td><td>$rekord[filename]</td><td>$rekord[rodzaj]</td>
  26. <td><img src=getdata.php?id=$rekord[id]></td></tr>";
  27.       }
  28.       echo "</table>";
  29.    } else {
  30.       if((!$description) || (!$filename) || (!$rodzaj)) {
  31.     $query = "select*from $tabela where id='$id_obrazki'";
  32.     $wynik = mysql_query($query);
  33.     $data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
  34.     print "<form method="post" action=" $PHP_SELF " enctype="multipart/form-data">";
  35.     $rekord = mysql_fetch_array($wynik);
  36.       print "<table>";
  37.       print "<tr><td>EDYCJA OBRAZKA</td></tr></table>";
  38.       print "<table>";
  39.       print "<tr><td>Opis obrazka:</td>";
  40.       print "<td><input type="text" name="form_description" value="$rekord[form_description]"></td></tr>";
  41.       print "<input type="hidden" name="MAX_FILE_SIZE" value="10000000">";
  42.       print "<tr><td>Plik:</td>";
  43.       print "<td><input type="file" name="form_data" value="$rekord[form_data]"></td><</tr>";
  44.       print "<tr><td>Rodzaj:</td>";
  45.       print "<td>";      
  46.     print "<select name=rodzaj>";
  47.       print "<option value=1>Logo - news
  48.            <option value=2>Logo - mecz
  49.              <option value=3>Logo - nast./poprz.
  50.              <option value=4>Logo - zawodnik
  51.              <option value=5>Logo - inne";
  52.       print "</select>";
  53.       print "</td></tr>";
  54.       
  55.       print "<tr>";
  56.       print "<input type="submit" value="Zmień"></td></tr>";      
  57.  
  58.       print "</form></table>";
  59.       } else {
  60.          $query = "update $tabela set form_description='$form_description',
  61. data='$data', form_data_name='$form_data_name', form_data_size='$form_data_size',
  62. form_data_type='$form_data_type', rodzaj='$rodzaj' where id='$id_zdjecia'";
  63.          $wynik = mysql_query($query);
  64.          if(!$wynik) {
  65.             print "Nie udało się :(<br>".mysql_error();
  66.          } else {
  67.             print "Udało się.<br>Poprawiłem ".mysql_affected_rows()." wiersz(y).";
  68.          }
  69.       }
  70.    }
  71. }
  72.  
  73. function wyswietl_zdj() {
  74. require("polacz.htm");
  75.    $pobierz = mysql_query("select*from obrazki order by rodzaj,id");
  76.       print "<table>";
  77.       print "<tr><td>ID</td><td>Nazwa</td><td>Rodzaj</td><td>Obrazek</td></tr>";   
  78.    while ($rekord = mysql_fetch_array($pobierz)) {
  79.     print "<tr><td>$rekord[id]</td><td>$rekord[filename]</td>
  80. <td>$rekord[rodzaj]</td><td><img src=getdata.php?id=$rekord[id]></td></tr>";
  81.    }
  82. }
  83.  
  84. function dopisz_zdj($czy, $akcja, $description, $bin_data, $filename, $filesize, $filetype, $rodzaj) {
  85.     if($submit!="tak") {
  86.     echo "<form method="post" action="$PHP_SELF;" enctype="multipart/form-data">";
  87.       echo "<table>";
  88.       echo "<tr><td>DODAJ OBRAZEK</td></tr></table>";
  89.       echo "<table>";
  90.       echo "<tr><td>Opis obrazka:</td>";
  91.       echo "<td><input type="text" name="form_description"></td></tr>";    
  92.       echo "<input type="hidden" name="MAX_FILE_SIZE" value="10000000">";
  93.       echo "<tr><td>Plik:</td>";
  94.       echo "<td><input type="file" name="form_data"></td></tr>";
  95.       echo "<tr><td>Rodzaj:</td>";
  96.       echo "<td>";      
  97.       echo "<select name=rodzaj>";
  98.       echo "<option value=1>Logo - news
  99.                   <option value=2>Logo - mecz
  100.                   <option value=3>Logo - nast./poprz.
  101.                   <option value=4>Logo - zawodnik
  102.                   <option value=5>Logo - inne";
  103.         echo "</select>";
  104.         echo "</td></tr>";    
  105.     
  106.         echo "<tr><td>";
  107.         echo "<input type="submit" name="submit" value="Dodaj"></td></tr>";      
  108.  
  109.         echo "</form></table>";    
  110.    } else {
  111.     $data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
  112.       $nowy = "insert into obrazki (description, bin_data, filename,
  113. filesize, filetype, rodzaj) values ('$form_description', '$data',
  114. '$form_data_name', '$form_data_size', '$form_data_type', '$rodzaj')";
  115.       $nowy_wpis = mysql_query($nowy);
  116.       if($nowy_wpis) {
  117.          echo "Adres: $adres<br>Dodałem nowy obrazek.";
  118.       } else {
  119.          echo "Nie udało się dodać obrazka.";
  120.       }
  121.    }
  122. }
  123.  
  124. switch($akcja) {
  125.    case "dopisz_zdj":
  126.    dopisz_zdj($czy, $akcja, $description, $bin_data, $filename, $filesize, $filetype, $rodzaj);
  127.    break;
  128.    case "delete_zdj":
  129.    usun_zdj($id_obrazki);
  130.    break;
  131.    case "edit_zdj":
  132.    edytuj_zdj($id_obrazki, "obrazki", $description, $bin_data, $filename, $filesize, $filetype, $rodzaj);
  133.    break;
  134.    case "edit_now_zdj":
  135.    edycja_zdj($id_obrazki, "obrazki", $description, $bin_data, $filename, $filesize, $filetype, $rodzaj);
  136.    break;
  137.    default:
  138.    wyswietl_zdj();
  139.    break;
  140. }
  141. ?>
  142. </BODY>
  143. </HTML>


oczywiście nie pisałbym tutaj, gdyby wszystko chodziło... no właśnie dlaczego nie chodzi? gdzie jest błąd? próbowałem już na kilka sposobów to zmieniać, ale nic mi nie wychodzi... jeżeli ktoś ma jakieś uwagi/zastrzeżenia to bardzo proszę o pomoc.

Chyba, że ktoś dysponuje podobnym skryptem, który albo wrzuca plik jako BLOB do sql'a albo zrzuca go na serwer jako ftp i w bazie danych wpisuje nazwę pliku. Warunkiem jest późniejsza możliwość edycji pliku i kolumn w bazie danych. Usunięcie pliku z serwera i danych z bazy.

Z góry wielkie dzięki za pomoc withstupidsmiley.gif

Ten post edytował szamo 9.11.2005, 05:05:12


--------------------
Własną głupotę ludzie zwykli nazywać doświadczeniem. - Oscar Wilde
Go to the top of the page
+Quote Post

Posty w temacie


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: 24.07.2025 - 13:19