Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][Php] UPLOAD , DOWNLOAD PLIKÓW 2
Forum PHP.pl > Forum > Przedszkole
T1000
Witam mam problem z downloadem plików z serwera.
Celem mojej stronki jest
1. Upload pliku na serwer
2.Wyświetlenie pliku[ów]
3. Ewentualnie możliwość pobrania pliku[ów]
I właśnie z pobraniem pliku mam problem
Plik można uplodować na serwer można go zobaczyć ale kiedy chce go zapisac dostaje informacje
Prosze wybrac poprawny plik znajdujacy sie na serwerz(na serwerze jest w bazie danych jest)
Dodaje całość kodu z którego korzystam.
Z góry DZIĘKI ZA POMOC

Pobranie pliku na serwer
  1. <table border="0" width="383"><td>
  2. <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
  3. <fieldset><legend><font color="#FFFFFF">Wypelnij Formularz Opis</font></legend>
  4. <p><b> <font color="#FFFFFF">Plik</font></b> <input type="file" name="upload" /></p>
  5. <p><b> <font color="#FFFFFF">Opis:</font></b> <textarea name="description" cols="40" rows="5"></textarea></p>
  6. </fieldset>
  7. <div align="center"><input type="submit" name="submit" value="Zapisz" /></div>
  8. </form></td></table>
  9. <?php
  10. $page_title = 'Upload a File';
  11.  
  12.  
  13. if (isset($_POST['submit'])) { 
  14.  
  15. require_once ('config.php'); 
  16.  
  17. // Function for escaping and trimming form data.
  18. function escape_data ($data) {
  19. global $dbc;
  20. if (ini_get('magic_quotes_gpc')) {
  21. $data = stripslashes($data);
  22. }
  23. return mysql_real_escape_string (trim ($data), $dbc);
  24. } // End of escape_data() function.
  25.  
  26. // Check for a description (not required).
  27. if (!empty($_POST['description'])) {
  28. $d = escape_data($_POST['description']);
  29. } else {
  30. $d = '';
  31. }
  32.  
  33.  
  34. $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())";
  35. $result = @mysql_query ($query);
  36.  
  37. if ($result) {
  38.  
  39. // Create the file name.
  40. $extension = explode ('.', $_FILES['upload']['name']);
  41. $uid = mysql_insert_id(); // Upload ID
  42. $filename = $_FILES['upload']['name'];
  43.  
  44. // Move the file over.
  45. if (move_uploaded_file($_FILES['upload']['tmp_name'], "./uploads/$filename")) {
  46. echo '<p><font color="white"><center>Plik został zapisany</center></font></p>';
  47. } else {
  48. echo '<p><font color="white"><center>Plik nie może być przeniesiony</center></font></p>';
  49.  
  50.  
  51. $query = "DELETE FROM uploads WHERE upload_id = $uid";
  52. $result = @mysql_query ($query);
  53. }
  54.  
  55. } else { 
  56. echo '<p><font color="white"><center>Błšd połšczenie z bazš danych MySQL</center></font></p>';
  57. }
  58.  
  59.  
  60. } 
  61. ?>
  62. <?php include('stopka.inc'); ?>


Wyświetlenie pobranych plików na serwerze


  1. <?php
  2.  
  3. require_once ('config.php'); ?>
  4. <?php
  5.  
  6. $first = TRUE; //Initialize the variable.
  7.  
  8. //query the db
  9. $query = "SELECT upload_id, file_name, ROUND(file_size/1024) AS fs, description,
  10. DATE_FORMAT(upload_date, '%M %e, %Y') AS d FROM uploads ORDER BY upload_date DESC";
  11. $result = mysql_query ($query);
  12.  
  13. //Display all the URLs
  14. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  15.  
  16. //If this is the first record then create the table header
  17. if ($first) {
  18. echo '<table border="1" width="383" cellspacing="3" cellpadding="3" align="center">
  19. <tr>
  20. <td align="left" width="20%"><font size="1px" color="#EDE3EB"><b>Nazwa Pliku</b></font></td>
  21.  
  22. <td align="center" width="20%"><font size="1px" color="#EDE3EB" >Wielkosć</font></td>
  23. <td align="left" width="20%"><font size="1px" color="#EDE3EB" >Data</font></td>
  24. <td align="left" width="40%"><font size="1px" color="#EDE3EB" >Opis</font></td>
  25. </tr>';
  26. } //End of first IF
  27.  
  28. //Display each record
  29. echo " <tr>
  30. <td align=\"left\" class=\"ramka2\"><font color=\"white\"><a href=\"download_file.php?uid={$row['upload_id']}\">{$row['file_name']}</a></font></td>
  31.  
  32. <td align=\"center\"class=\"ramka2\" ><font color=\"black\">{$row['fs']}kb</font></td>
  33. <td align=\"left\"class=\"ramka2\" ><font color=\"black\">{$row['d']}</font></td>
  34. <td align=\"left\"class=\"ramka2\" ><font color=\"black\">" . stripslashes($row['description']) . "</td>
  35. </tr>\n";
  36.  
  37. $first = FALSE; //one record has been returned
  38. } //End of while loop
  39.  
  40. //If no records were displayed...
  41. if($first) {
  42. echo '<div align="center"> There are currently no files to be viewed.</div>';
  43. } else {
  44. echo '</table>'; //Close table
  45. }
  46.  
  47. $result = mysql_query ($query) or die("Query failed: $query - ".mysql_error());
  48. mysql_close(); //Close the db connection
  49.  
  50. ?>


Pobranie pliku z serwera
  1. <?php
  2. require_once ('config.php');
  3. if (is_numeric ($GET['uid'])) {
  4. $query = "SELECT file_name, file_type, file_size FROM uploads WHERE upload_id = {$_GE
    T['uid']}"
    ;
  5. $result = mysql_query ($query);
  6. list ($fn, $ft, $fs) = mysql_fetch_array ($result, MYSQL_NUM);
  7. $EXTETENSION = explode ('.', $fn);
  8. $the_file = './uploads/'.$_GET['uid'].'.'.$extension[1];
  9. if (file_exists ($the_file)) {
  10. header ("Content-Type: application/$ft");
  11. header ("Content-disposition: atachment; filename=$fn");
  12. header ("Content-Lenght: $fs");
  13. readfile ($the_file); 
  14.  
  15. $message = ' Wysłano';
  16. } else { 
  17. $message = ' nie mozna odnalezc';
  18. }
  19. } else {
  20. $message = 'prosze wybrac poprawny plik znajdujacy sie na serwerz' ;
  21. }
  22.  
  23. $page_title = 'Pobieranie pliku';
  24. echo $message ;
  25. ?>


Troche tego sporo ale mam nadzieje że komuś się przyda

Pozdrawiam
adgf
Wiem że w drugim pliku [wirsz 30] mogę zmienić
  1. <?php
  2. <td align=&#092;"left\" class=\"ramka2\"><font color=\"white\"><a href=\"download_file.php?uid={$row['upload_id']}\">{$row['file_name']}</a></font></td>
  3. ?>

na
  1. <?php
  2. <a href=&#092;"/inc/uploads/{$row['file_name']}\">{$row['file_name']}</a>
  3. ?>

Ale nie oto mi chodzi.
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.