Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Wysylanie plików
Forum PHP.pl > Forum > Przedszkole
Cinkowy
if (move_uploaded_file($_FILES['upload']['tmp_name'], "/uploads/$filename")) { cos nei tak?

  1. <?php
  2. if ($result) {
  3.  
  4. // Utworzenie nazwy pliku.
  5. $extension = explode ('.', $_FILES['upload']['name']);
  6. $uid = mysql_insert_id(); // Identyfikator pliku umieszczanego na serwerze
  7. $filename = $uid . '.' . $extension[1];
  8.  
  9. // Przenoszenie pliku. TUTAJ WLASNIE COS JEST NIE TAL: 
  10. if (move_uploaded_file($_FILES['upload']['tmp_name'], "/uploads/$filename")) {
  11.  
  12. // W TYM KODZIE JAK ZROBIC ZEBY WYSYLALO DO PLIKU uploads cos nie dziala :/ robi mi pliki /uploads/1.*(roz np. jpg)
  13.  
  14. echo '<center>Plik został umieszczony na serwerze!</p>';
  15. } else {
  16. echo '<center><span class=i>Przeniesienie pliku nie było możliwe.</span>';
  17.  
  18. // Usunięcie rekordu z bazy danych.
  19. $query = "DELETE FROM uploads WHERE upload_id = $uid";
  20. $result = @mysql_query ($query);
  21. }
  22.  
  23. } else { // Jeśli zapytanie na bazie danych nie zostanie wykonane prawidłowo.
  24. echo '<span class=i>Na skutek błędu systemowego wysłane zapytanie nie mogło zostać przetworzone. 
    Przepraszamy za zaistniałą niedogodność.</span>'
    ;
  25. }
  26. ?>
maziak
Nie wiem czy to umyslne czy nie, ale tam jest przecinek, a wydaje mi sie ze powinna byc kropka tongue.gif
  1. <?php
  2. if (move_uploaded_file($_FILES['upload']['tmp_name']--> , <--"/uploads/$filename")) {
  3. ?>
PiotrLegnica
Cytat
a wydaje mi sie ze powinna byc kropka

Źle ci się wydaje.

Pokaż wcześniejszy kod, który dodaje rekord z którego pobierasz mysql_insert_id.
maziak
Faktycznie, teraz widze, chyba sie troche przyblokowalem. smile.gif
Cinkowy
  1. <?php
  2.  
  3. if (isset($_POST['submit'])) { // Obsługa formularza.
  4.  
  5. require_once ('connect.php'); // Połączenie z bazą danych.
  6.  
  7. // Funkcja usuwająca znak '/' i obcinająca dane wprowadzone w formularzu.
  8. function escape_data ($data) {
  9. global $dbc;
  10. if (ini_get('magic_quotes_gpc')) {
  11. $data = stripslashes($data);
  12. }
  13. return mysql_real_escape_string (trim ($data), $dbc);
  14. } // Koniec sekcji funkcji escape_data().
  15.  
  16. // Sprawdzenie obecności opisu (nie jest wymagane).
  17. if (!empty($_POST['description'])) {
  18. $d = escape_data($_POST['description']);
  19. } else {
  20. $d = '';
  21. }
  22.  
  23. // Dodanie rekordu do bazy danych.
  24. $query = "INSERT INTO uploads (file_name, file_size, file_type, description, upload_date) VALUES ('{$_FILES['upload']['name']}', {$_FILES['upload']['size']}, '{$_FILES['upload']['type']}', '$d', NOW())";
  25. $result = @mysql_query ($query);
  26.  
  27. if ($result) {
  28.  
  29. // Utworzenie nazwy pliku.
  30. $extension = explode ('.', $_FILES['upload']['name']);
  31. $uid = mysql_insert_id(); // Identyfikator pliku umieszczanego na serwerze
  32. $filename = $uid . '.' . $extension[1];
  33.  
  34. // Przenoszenie pliku.
  35. if (move_uploaded_file($_FILES['upload']['tmp_name'], "/uploads/$filename")) {
  36. echo '<center>Plik został umieszczony na serwerze!</p>';
  37. } else {
  38. echo '<center><span class=i>Przeniesienie pliku nie było możliwe.</span>';
  39.  
  40. // Usunięcie rekordu z bazy danych.
  41. $query = "DELETE FROM uploads WHERE upload_id = $uid";
  42. $result = @mysql_query ($query);
  43. }
  44.  
  45. } else { // Jeśli zapytanie na bazie danych nie zostanie wykonane prawidłowo.
  46. echo '<span class=i>Na skutek błędu systemowego wysłane zapytanie nie mogło zostać przetworzone. Przepraszamy za zaistniałą niedogodność.</span>';
  47. }
  48.  
  49.  
  50. } // Koniec instrukcji warunkowej obsługującej dane wprowadzane w formularzu.
  51. ?>
  52.  
  53. <form enctype="multipart/form-data" action="index.php?show=add_file" method="post">
  54.  
  55. <input type="hidden" name="MAX_FILE_SIZE" value="524288">
  56.  
  57. <fieldset><legend>W celu umieszczenia pliku na serwerze należy wypełnić formularz:</legend>
  58.  
  59. <p><b>Plik:</b> <input type="file" name="upload"></p>
  60.  
  61. <p><b>Opis:</b> <textarea name="description" cols="40" rows="5"></textarea></p>
  62.  
  63. </fieldset>
  64.  
  65. <div align="center"><input type="submit" name="submit" value="Wyślij"></div>
  66.  
  67. </form><!-- Koniec formularza-->


  1. <?php
  2. // Strona pozwala na pobranie pliku z serwera przy użyciu funkcji header().
  3.  
  4. if (is_numeric ($_GET['uid'])) { // Identyfikator pliku umieszczonego na serwerze.
  5.  
  6. require_once ('../mysql_connect.php'); // Połączenie z bazą danych.
  7.  
  8. // Pobranie informacji na temat pliku.
  9. $query = "SELECT file_name, file_type, file_size FROM uploads WHERE upload_id = {$_GE
    T['uid']}"
    ;
  10. $result = mysql_query ($query);
  11. list ($fn, $ft, $fs) = mysql_fetch_array ($result, MYSQL_NUM);
  12. mysql_close(); // Zamknięcie połączenia z bazą danych.
  13.  
  14. // Określenie nazwy pliku umieszczonego na serwerze.
  15. $extension = explode ('.', $fn);
  16. $the_file = '../uploads/' . $_GET['uid'] . '.' . $extension[1];
  17.  
  18. // Sprawdzenie czy plik istnieje.
  19. if (file_exists ($the_file)) {
  20.  
  21. // Wysłanie pliku.
  22. header ("Content-Type: application/$ft");
  23. header ("Content-disposition: attachment; filename=$fn");
  24. header ("Content-Length: $fs");
  25. readfile ($the_file);
  26.  
  27. $message = '<p>Plik został wysłany.</p>';
  28.  
  29. } else { // Plik nie istnieje.
  30. $message = '<p><font color="red">Odnalezienie pliku na serwerze nie było możliwe. Przepraszamy za zaistniałą niedogodność.</font></p>'; 
  31. }
  32.  
  33.  
  34. } else { // Nieprawidłowy identyfikator pliku umieszczonego na serwerze.
  35.  
  36. $message = '<p><font color="red">Proszę wybrać poprawny plik znajdujący się na serwerze.</font></p>'; 
  37.  
  38. }
  39. ?>


Po pol godzinie wyszlo takei cos:

Warning: mysql_real_escape_string() expects parameter 2 to be resource, null given in /home/chellmondj/domains/chellmondj.cal.pl/public_html/add_file.php on line 13
Przeniesienie pliku nie było możliwe.


Wiec blad w około 13 lini i 35 wiecie co jest nei tak?
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.