Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Własny, bardzo prosty hosting plików
Forum PHP.pl > Forum > Przedszkole
Sniper512
Witam. Napisałem bardzo prosty skrypcik do wysyłania plików do własnego katalogu:

  1. <?php
  2. echo '<?xml version="1.0" encoding="iso-8859-2"?>';
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
  5. transitional.dtd">
  6. <html>
  7. <head>
  8. <meta http-equiv="Content-type" content="text/html; charset=windows-1250" />
  9. <title>Upload</title>
  10. </head>
  11. <body>
  12.  
  13. <div>
  14. <form enctype="multipart/form-data" action="index.php" method="POST">
  15. <input type="hidden" name="MAX_FILE_SIZE" value="3072000" />
  16. <input name="plik" type="file" />
  17. <input type="submit" value="Wyślij plik" />
  18. </form>
  19. </div>
  20.  
  21. <?php
  22. $plik_tmp = $_FILES['plik']['tmp_name'];
  23. $plik_nazwa = $_FILES['plik']['name'];
  24. $plik_rozmiar = $_FILES['plik']['size'];
  25.  
  26. if(is_uploaded_file($plik_tmp)) {
  27. move_uploaded_file($plik_tmp, "upload/$plik_nazwa");
  28. echo "http://ADRES_MOJEGO_SERWERA/host/$plik_nazwa";
  29. }
  30. ?>
  31. </body>
  32. </html>


Nadałem mu oczywiście Chmody etc, lecz gdy plik jest już wysłany, serwer go nie może odnaleźć, chociaż znajduje się na ftp.
Nie mam do niego dostępu.

Co mogę poprawić w skrypcie?

A i mam pytanie, co zrobić aby po zakończonym uploadzie gotowy link był w polu tekstowym, z włączonym atrybutem, że jak klika się w to pole, automatycznie zaznacza ten link.

CuteOne
"host/nazwa_pliku" to nie to samo co "upload/nazwa_pliku"...
nekomata
dokładnie tak jak wyżej i jeszcze dodam że masz błąd w
  1. move_uploaded_file($plik_tmp, "upload/$plik_nazwa");
to porostu plik ci nazwie "$plik_nazwa" a nie to co masz w zmiennej.Aby plik miał nazwę tak jak oryginalny plik musisz zamienić linijkę powyższą na
  1. move_uploaded_file($plik_tmp, "upload/".$plik_nazwa);
to samo przy echu.no i pozatym jak wszystko wrzucasz do jednego katalogu.mógłbyś dawać jakieś foldery albo ID np.. nowy folder jeśli poprzednia data jest o 10 minut przedawniona... w ten sposób nikt ci plików pustymi notatnikami z nazwami jak duże pliki nie podmieni.Beware of the trolls.I użytkownik zawsze podaje złe/szkodliwe dane,pamiętaj o tym.
Sniper512
Dziękuje. Teraz wszystko mi działa.

A co poprawić w tej linijce, by po kliknięciu w pole tekstowe, automatycznie zaznaczało cały tekst?

  1. echo "<input id='txtfld' readonly='readonly' class='input_field' onClick='SelectAll('txtfld');' type='text' style='width: 300px;' value='/host/upload/$plik_nazwa' />";



Czytałem trochę o tym skrypcie:

  1. <script type="text/javascript">
  2. function SelectAll(id)
  3. {
  4. document.getElementById(id).focus();
  5. document.getElementById(id).select();
  6. }
  7.  
  8. Textarea:<br>
  9. <textarea rows="3" id="txtarea" onClick="SelectAll('txtarea');" style="width:200px" >This text you can select all by clicking here </textarea>
  10.  
  11. Input TextBox:<br>
  12. <input type="text" id="txtfld" onClick="SelectAll('txtfld');" style="width:200px" value = "This text you can select all" />
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.