Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jeden użytkownik jeden plik
vojtek_
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 13.03.2005

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


Jak zrobic zeby na uploadzie jeden zarejestrowany uzytkownik mial jeden plik (jeden obrazek biggrin.gif) np: users_obrazek.gif i jak wysle drugi
to ten pierwszy sie podmieni biggrin.gif


--------------------
Wykrztałcenie nie piwo nie musi być pełne.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
soldat
post
Post #2





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 14.03.2005
Skąd: W-wa

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


Witam ponownie,

Jak masz unikalne nazwy użytkowników (a tak być powinno), to wystarczy nazwać obrazki za pomocą tych loginów, względnie np. jeżeli masz w bazie użytkowników inny klucz niż login, za pomocą tegoż klucza.

Wtedy po uploadzie piszesz :

  1. <?php
  2.  
  3. if (file_exists($nazwa_pliku)) { unlink($nazwa_pliku); }
  4. copy($_FILES['nowy_plik']['tmp_name'],$nazwa_pliku);
  5.  
  6. ?>


nowy_plik to nazwa pola file w formularzu
Go to the top of the page
+Quote Post
vojtek_
post
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 13.03.2005

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


Nie dziala mi sad.gif

Mam trzy strony:
1. account.html
2. account.php
3. ten upload (tam nie ma nic o zalogowaniu)
4. folder users (w nim sa pliki php z uzytkownikami i haslami itp.)

Pierwsza jest w html i odpowiada za wyglad strony
Druga w niej jestem zalogowany np.vojtek
Trzecia strona to jest mój upload.
I teraz zeby w tym uploadzie wykrylo jaki jest uzytkownik np: vojtek
I przy wysylaniu obrazka np: costam.gif zamienilo na vojtek_obraz.gif.
I jak drugi raz wysle to sie zamieni ten obrazek, a jak sie przeloguje na np: vovo
to obrazek zamieni na vovo_obraz.gif biggrin.gif


--------------------
Wykrztałcenie nie piwo nie musi być pełne.
Go to the top of the page
+Quote Post
soldat
post
Post #4





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 14.03.2005
Skąd: W-wa

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


Metoda którą ci zaproponowałem jest skuteczna, tylko że musisz zrobić odrobinę więcej ponad wklejenie tych dwóch (przykladowych) linijek kodu.

Podaj jakiś link do kodu źródłowego, to w wolnej zobaczę co się da zrobić, jężeli sam nie dasz rady.

Ten post edytował soldat 17.03.2005, 12:50:40
Go to the top of the page
+Quote Post
vojtek_
post
Post #5





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 13.03.2005

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


To jest forum txtBB.
Mozna go sciagnac z oficjalnej strony forum. A mój upload daje tu:

  1. <?php
  2.  
  3. $site_name = $_SERVER['HTTP_HOST'];
  4. $url_dir = &#092;"http://\".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
  5. $url_this =  &#092;"http://\".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  6.  
  7. $upload_dir = &#092;"upload_files/\";
  8. $upload_url = $url_dir.&#092;"/upload_files/\";
  9. $message =&#092;"\";
  10.  
  11. if (!is_dir(&#092;"upload_files\")) {
  12.         die (&#092;"Nie ma folderu do przechowywania pliku.\");
  13. }
  14.  
  15. if ($_FILES['userfile']) {
  16.         $message = do_upload($upload_dir, $upload_url);
  17. }
  18. else {
  19.         $message = &#092;"Nie załadowano pliku.\";
  20. }
  21.  
  22. print $message;
  23.  
  24. function do_upload($upload_dir, $upload_url) {
  25.  
  26.         $temp_name = $_FILES['userfile']['tmp_name'];
  27.         $file_name = $_FILES['userfile']['name']; 
  28.         $file_type = $_FILES['userfile']['image/gif']; 
  29.         $file_size = $_FILES['userfile']['size']; 
  30.         $result    = $_FILES['userfile']['error'];
  31.         $file_url  = $upload_url.$file_name;
  32.         $file_path = $upload_dir.$file_name;
  33.         $im=getimagesize($temp_name);
  34. if (($im[2]!=1) && ($im[2]!=2))  {
  35.   $message=&#092;"Niewłaściwy typ pliku\";
  36.   return($message);
  37. }
  38.  
  39. else if ($file_name==&#092;"\")
  40.  
  41.         //File Name Check
  42.     if ( $file_name ==&#092;"txtbb2\") { 
  43.             $message = &#092;"Nie załadowano pliku\";
  44.             return $message;
  45.     }
  46.     //Wielkość pliku
  47.     else if ( $file_size > 500000) {
  48.         $message = &#092;"The file size is over 500K.\";
  49.         return $message;
  50.     }
  51.     //File Type Check
  52.     else if ( $file_type == &#092;"text/plain\" ) {
  53.         $message = &#092;"Niewłaściwy typ pliku\" ;
  54.         return $message;
  55.     }
  56.  
  57.     $result  =  move_uploaded_file($temp_name, $file_path);
  58.     $message = ($result)?&#092;"Adres pliku <a href=$file_url>$file_url</a>\" :
  59.                   &#092;"Ten adres nie istnieje..\";
  60.  
  61.     return $message;
  62. }
  63. ?>
  64.  
  65.  
  66. <form name=\"upload\" id=\"upload\" ENCTYPE=\"multipart/form-data\" method=\"post\">
  67.  <small>Wybierz obraz</small>  
  68.   <input type=\"file\" id=\"userfile\" name=\"userfile\">
  69.   <input type=\"submit\" name=\"Ładuj\" value=\"Ładuj\">
  70. </form>  

Ja jeszcze to includuje na inna strone snitch.gif

Ten post edytował vojtek_ 17.03.2005, 12:49:42


--------------------
Wykrztałcenie nie piwo nie musi być pełne.
Go to the top of the page
+Quote Post
soldat
post
Post #6





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 14.03.2005
Skąd: W-wa

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


A w jakiej zmiennej jest przechowywana nazwa bieżącego uzytkownika ?
Go to the top of the page
+Quote Post
vojtek_
post
Post #7





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 13.03.2005

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


Znalazlem jeszcze plik login.php I to tam jest chyba ta zmienna:
  1. <?
  2.  
  3. if ($_GET['type'] == 'logout') {
  4. setcookie('forum-login', '');
  5. setcookie('forum-pass', ''); 
  6. }
  7.  
  8. // Domyslna skorka dla wszystkich uzytkownikow
  9. $_TEMPLATE = 'txtbb_blue';
  10.  
  11. //----------------------------------------------------
  12. // Informacje o logowaniu sa w cookie (autologin)
  13. //----------------------------------------------------
  14.  
  15. if (!isset($_SESSION['login'])) {
  16. if (isset($_COOKIE['forum-login']) && (!$_COOKIE['forum-login'] == '') && isset($_COOKIE['forum-pass']) && !($_GET['type'] == 'logout')) {
  17. $UserInfo = user_GetUserByLogin($_COOKIE['forum-login']);
  18. if (($UserInfo['login'] == $_COOKIE['forum-login']) && ($UserInfo['password'] == md5($_COOKIE['forum-pass']))) {
  19. $UserInfo['last_login_date'] = $UserInfo['last_login'];
  20. $UserInfo['last_login'] = time();
  21. user_Update($UserInfo);
  22. $_SESSION['login'] = $_COOKIE['forum-login'];
  23. $_SESSION['password'] = md5($_COOKIE['forum-pass']);
  24. }
  25. }
  26. }
  27.  
  28. unset($UserInfo);
  29.  
  30. //----------------------------------------------------
  31. // Sprawdz login i haslo zapisane w sesji
  32. //----------------------------------------------------
  33.  
  34. if (isset($_SESSION['login'])) {
  35. $UserInfo = user_GetUserByLogin($_SESSION['login']);
  36. if ($UserInfo['password'] !== $_SESSION['password']) {
  37. }
  38. }
  39.  
  40. unset($UserInfo);
  41.  
  42. //----------------------------------------------------
  43. // Informacje wyslane POSTem
  44. //----------------------------------------------------
  45.  
  46. if (isset($_POST['login']) && isset($_POST['pass'])) {
  47. $UserInfo = user_GetUserByLogin($_POST['login']);
  48. if ($UserInfo['login'] == $_POST['login'] && $UserInfo['password'] == md5($_POST['pass'])) {
  49. $_SESSION['login'] = $_POST['login'];
  50. $_SESSION['password'] = md5($_POST['pass']);
  51. $UserInfo['last_login_date'] = $UserInfo['last_login'];
  52. $UserInfo['last_login'] = time();
  53. user_Update($UserInfo);
  54. if ($_POST['auto'] == true) {
  55. setcookie('forum-login', $_POST['login'], time() + 3600 * 24 * 90);
  56. setcookie('forum-pass', $_POST['pass'], time() + 3600 * 24 * 90);
  57. }
  58. }
  59. }
  60.  
  61. unset($UserInfo);
  62.  
  63. //----------------------------------------------------
  64. // Komunikat LOGIN_INFO
  65. //----------------------------------------------------
  66.  
  67. if (isset($_SESSION['login'])) {
  68. $UserInfo = user_GetUserByLogin($_SESSION['login']);
  69. $_TEMPLATE = $UserInfo['template'];
  70. //Sprawdz, czy temat istnieje
  71. if (!is_dir('templates/' . $_TEMPLATE) || strlen($_TEMPLATE) < 1) {
  72. $_TEMPLATE = 'txtbb_blue';
  73. }
  74. if ($_SESSION['password'] == $UserInfo['password']) {
  75. if ($UserInfo['type'] > 2) {
  76. $loginInfo = GetMacro('LOGIN_INFO_LOGGED_ADMIN');
  77. } else {
  78. $loginInfo = GetMacro('LOGIN_INFO_LOGGED');
  79. }
  80. $loginInfo = str_replace('<!-- LOGIN -->', $_SESSION['login'], $loginInfo);
  81. $loginInfo = str_replace('<!-- MESSAGES -->', file_LinesCount('data/users/' . $_SESSION['login'] . '_msgs.php'), $loginInfo);
  82. } else {
  83. $loginInfo = GetMacro('LOGIN_INFO_UNLOGGED');
  84. }
  85. } else {
  86. $loginInfo = GetMacro('LOGIN_INFO_UNLOGGED');
  87. }
  88.  
  89. if (!is_dir('templates/' . $_TEMPLATE) || strlen($_TEMPLATE) < 1) {
  90. $_TEMPLATE = 'txtbb_blue';
  91. }
  92. ?>


Tylko nie wiem która sadsmiley02.gif


--------------------
Wykrztałcenie nie piwo nie musi być pełne.
Go to the top of the page
+Quote Post
soldat
post
Post #8





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 14.03.2005
Skąd: W-wa

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


$_SESSION[login] jak sądzę
Go to the top of the page
+Quote Post
vojtek_
post
Post #9





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 13.03.2005

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


Tez tak myslalem, ale nie wiem jak wygladac ma KOD
To jak bedzie wygladal kod?


--------------------
Wykrztałcenie nie piwo nie musi być pełne.
Go to the top of the page
+Quote Post
soldat
post
Post #10





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 14.03.2005
Skąd: W-wa

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


Dodaj na początku funkcji do_upload, ale po deklaracjach - np. w linii 33 (przed getimagesize) - deklarację :

  1. <?php
  2. $file_new_name=$upload_dir.$_SESSION[login].&#092;"_user.\".substr($file_name,-3,3);
  3. ?>


To jest nazwa pliku np. soldat_user.jpg smile.gif

Teraz w tej samej funkcji dodaj przed linijkę 57 :

  1. <?php
  2.  
  3.  if (file_exists($file_new_name)) { unlink($file_new_name); }
  4.  $result = move_uploaded_file($temp_name, $file_new_name);
  5.  
  6. ?>


Tak nawiasem mówiąc, musisz zadbać o to, żeby były właściwe nazwy użytkowników - w końcu mają służyć również jako nazwy plików. Same cyfry+literki i będzie OK.

Chyba teraz powinno działać - w każdym razie ten kawałek. Jakby co to na pewno rano będę trochę mądrzejszy, jak się porządnie wreszcie wyśpię smile.gif

Pozdr.
Go to the top of the page
+Quote Post
vojtek_
post
Post #11





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 13.03.2005

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


Niestety nie dziala
Nie ma zadnego bledu ale nazwa pliku nie jest zmieniona.


--------------------
Wykrztałcenie nie piwo nie musi być pełne.
Go to the top of the page
+Quote Post
soldat
post
Post #12





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 14.03.2005
Skąd: W-wa

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


Bo nie nazwa pliku ma być zmieniona, tylko jego zawartość - na pewno nie działa ?

A poza tym nie możesz oczekiwać, że ktoś napisze za ciebie cały skrypt - pokombinuj trochę. snitch.gif

Ten post edytował soldat 18.03.2005, 13:47:02
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 Aktualny czas: 20.08.2025 - 21:07