Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Potrzebna pomoc - upload do php
Forum PHP.pl > Forum > Przedszkole
Yamamoto
Witam.

Stworzyłem skrypt mający na celu robienie stringów z pliku dane.txt.

  1. <?php
  2.  
  3. $puste = 1;
  4. //otwarcie pliku tylko do odczytu
  5. $otworz = fopen("dane.txt", 'r');
  6. //sprawdznie czy plik został otwarty
  7. if (!$otworz) {
  8. echo "Nie udało się otworzyc wskazanego pliku";
  9. }
  10. else
  11. //zapis wszystkich linii do tabel 
  12. $tab = file("dane.txt"); 
  13. foreach($tab as $row){ 
  14. $row = str_replace("r\n", '', $row); 
  15. $tRow = explode(' ', $row); 
  16. if($tRow[0] == 'L:') { echo $tRow[1].','; } 
  17. }
  18.  
  19. ?>



Cały problem polega na tym, że aby ten skrypt działał, musi mieć obok siebie plik dane.txt. Chciałbym umieścić skrypt na serwerze i mieć możliwość importowania do niego danych z dysku usera. Czy pomoże mi ktoś z tym?
Cysiaczek
Może najpierw pokaż, że wogóle sam próbowałeś? Gotowców nie dajemy, zwłaszcza, że upload plików to nie jest jakaś skomplikowana sprawa.
Yamamoto
  1. <?php
  2.  
  3.  
  4. $uploaddir = '/var/www/uploads/';
  5. $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
  6.  
  7. echo '<pre>';
  8. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  9. echo "File is valid, and was successfully uploaded.\n";
  10. } else {
  11. echo "Possible file upload attack!\n";
  12. }
  13.  
  14. echo 'Here is some more debugging info:';
  15. print_r($_FILES);
  16.  
  17. print "</pre>";
  18.  
  19. ?>


Takie coś, ale ja nie chcę, by mi to wchodziło na serwer, tylko żeby od razu konwertował.
Cysiaczek
To tak sie nie da - musisz najpierw uploadować na serwer.
Yamamoto
Ale jeśli tych plików będzie dużo, to jak skrypt połapie się który ma generować?
Cysiaczek
Dlatego musisz napisać mechanizmy zabezpieczające przed takimi sytuacjami. Stworzyć sposób nazywania plików na serwerze (np. dane_001.txt itd.) i powiązać dany plik z danym użytkownikiem. Można to zrobić np poprzez cookies, albo sesję, albo poprzez jakiś wpis w bazie danych. Możliwości jest sporo.

Pozdrawiam.
Yamamoto
No ale ja sięna tym nie znam. ^^ Możesz mi takie coś zrobić?
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.