Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] wyciaganie nazwy do bazy danych...
Forum PHP.pl > Forum > PHP
adek-
Witam.
Mam mały problem z jakim nie mogę sobie poradzić. Otóż znalazlem mały skrypt do uploadu plików ktory ma dodac mi do bazy nazwe pliku uploadowego.

Pokazuje kawałek...
Kod
if(isset($_POST['act'])){//jeśli zatwierdzono formularz
if($_FILES['add_f']['error']!=0){//jeśli napotkano błąd
  echo 'Nastąpił błąd przy wysyłaniu pliku';
}else{
  if(is_uploaded_file($_FILES['add_f']['tmp_name'])){//jeśli wysłano plik
   move_uploaded_file($_FILES['add_f']['tmp_name'],'upload/'.$_FILES['add_f']['name']);//przesuwamy go do odpowiedniego katalogu
   $dane=strip_tags(file_get_contents('upload/'.$_FILES['add_f']['name']));//usuwamy tagi php i html
   $file=fopen('upload/'.$_FILES['add_f']['name'],'w');//otwieramy plik
   fwrite($file,$dane);//zapisujemy go w zmienionej formie
  }else{
   echo 'Możliwy atak hakerski';
  }
}
}


gdzie add_f to jest plik ktory ma byc wrzucony na serwer a jego nazwa dodana do mysqla... co najlepsze to wszystko mi działa ale zamiast np: nazwa_pliku.jpg dodaje mi do bazy C:WINDOWSTempphpCE.tmp czyli sciezke gdzie php przetwarzal ten plik. Dodam ze uzywam KrasnalServ do tworzenia stron a wrzucane sa na linuxa NND w razie jak by to pomoglo biggrin.gif
Darti
  1. <?php
  2. if(isset($_POST['act'])){//jeśli zatwierdzono formularz
  3. if($_FILES['add_f']['error']!=0){//jeśli napotkano błąd
  4. echo 'Nastąpił błąd przy wysyłaniu pliku';
  5. }else{
  6. if(is_uploaded_file($_FILES['add_f']['tmp_name'])){//jeśli wysłano plik
  7.  $realname = basename($_FILES['add_f']['name']);
  8.  move_uploaded_file($_FILES['add_f']['tmp_name'],'upload/'.$realname);//przesuwamy go do odpowiedniego katalogu
  9.  $dane=strip_tags(file_get_contents('upload/'.$realname));//usuwamy tagi php i html
  10.  $file=fopen('upload/'.$realname,'w');//otwieramy plik
  11.  fwrite($file,$dane);//zapisujemy go w zmienionej formie
  12. }else{
  13.  echo 'Możliwy atak hakerski';
  14. }
  15. }
  16. }
  17. ?>
adek-
Tak, ja probowalem basename wcisnac na sile w zupelnie inne - zle miejsce biggrin.gif Niestety musze przyznac ze dalej jest jak bylo... Czy to mozliwe ze php wrzuca sciezke tmp bo pierwsze jest
is_uploaded_file($_FILES['add_f']['tmp_name'])) ...tmp_name
a pozniej dopiero
$realname = basename($_FILES['add_f']['name']); czyli name??
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.