Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] upload plików
swider8814
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 29.03.2004

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


Witam,
Mam bardzo prosty skrypt do uploadu plików. Służy on do wysyłania pliku csv. Zawartość pliku csv można później wyszukiwać za pomocą wyszukiwarki na stronie.
Jak mogę dodać do tego aby przyjmował tylko plik o danej nazwie (np. plik.csv), a jeżeli ktoś próbuje wysłać plik o innej nazwie, to wyświetla się błąd?
Z góry bardzo dziękuję za pomoc.

  1. <?php
  2. if (!empty($_FILES["file"]))
  3. {
  4. if ($_FILES["file"]["error"] > 0)
  5. {echo "<div class='alert error'><span><strong>Nie wybrano pliku lub plik jest za duży!</strong></span>";
  6. echo "<p>Bląd: " . $_FILES["file"]["error"] . "</p></div>";}
  7. else
  8. {echo "<div class='alert success'><span><strong>Plik został pomyślnie dodany!</strong></span>";
  9. echo "<p>Dodany plik: ".$_FILES["file"]["name"]."<br/>Rozmiar: ".($_FILES["file"]["size"]/1024)." kB</p></div>";
  10. move_uploaded_file($_FILES["file"]["tmp_name"],'../csv/'.$_FILES["file"]["name"]);}
  11. }
  12. ?>
  13.  
  14. <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  15. <p>
  16. <label>Wybierz plik: <span title="Pole wymagane">*</span></label>
  17. <input name="file" type="file" />
  18. </p>
  19. <p>
  20. <button type="submit" name="submit" class="button orange">Wyślij</button>
  21. </p>
  22. </form>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
swider8814
post
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 29.03.2004

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


Problemem jest właśnie to, że nie znam PHP (jedynie HTML i CSS), a potrzebuję delikatnie zmodyfikować ten skrypt. Jaka funkcja jest odpowiedzialna za to w PHP? Z manualem PHP myślę, że sobie poradzę jakoś tylko nie wiem właśnie nawet czego szukać za bardzo.
Go to the top of the page
+Quote Post
ZaXaZ
post
Post #3





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

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


Cytat(swider8814 @ 4.04.2014, 17:43:27 ) *
Problemem jest właśnie to, że nie znam PHP (jedynie HTML i CSS), a potrzebuję delikatnie zmodyfikować ten skrypt. Jaka funkcja jest odpowiedzialna za to w PHP? Z manualem PHP myślę, że sobie poradzę jakoś tylko nie wiem właśnie nawet czego szukać za bardzo.


  1. $plik=$_FILES['file']['name'];
  2. if ($plik!='plik.csv') die('Błędna nazwa pliku.');
  3. if (pathinfo($plik, PATHINFO_EXTENSION)!= 'csv') die('Złe rozszerzenie pliku!!!, można tylko csv!!');


a

  1. <?php echo $_SERVER['PHP_SELF']; ?>


zamien na:

  1. <?php echo htmlentities($_SERVER['PHP_SELF']); ?>
Nie jestem pewien jak to było jak się wysyła dane postem, chyba bezpiecznie ale lepiej wrazie czego się zabezpieczyć przed cross-site scripting (xss).

Ten post edytował ZaXaZ 4.04.2014, 17:29:36
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 23:01