Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]INPUT type="file"
Forum PHP.pl > Forum > Przedszkole
blizniak
witam
jak odczytac cala sciezke z
  1. <INPUT type="file" name="plik">


bo
  1. <?php
  2. $_FILES['src']['name'];
  3. ?>

odczytuje mi tylko nazwe pliku a nie cala sciezke wprowadzona w input

i jezeli sie da odczytac to jak zrobic zeby mi wyswietlalo cos takiego
  1. <?php
  2. echo'<INPUT TYPE="file" value="'.$_SESSION["powtorz_zdjecie_1"].'" NAME="src" >max 8192B<br>';?>
kiler129
Źle kombinujesz winksmiley.jpg
Nie dasz rady, pole value nie jest prawidłowe dla file !

Powiedz dokładnie po co ci ta ścieżka bo być może do tego celu wystracza ci elemęty tablicy files.
Przjrzyj je sobie:

  1. <?php
  2. var_dump($_FILES);
  3. ?>
chyzio
  1. <input type="userfile" name="file" />
podaje cala sciezke

musisz sie dostac do niej za pomoca tablicy dwu wymiarowej ktora posiada nastepujace wlasciwosci:

  1. <?php
  2. $_FILES['userfile']['tmp_name']; //scieżka na serwerze do uploadowanego pliku
  3. $_FILES['userfile']['name']; //nazwa pliku
  4. $_FILES['userfile']['type']; //typ pliku
  5. $_FILES['userfile']['size']; //rozmiar pliku w bajtach
  6. $_FILES['userfile']['error']; //numer błędu (je?li brak błędów warto?ć wynosi 0)
  7. ?>


wiec chyba tego potrzebujesz $_FILES['userfile']['tmp_name'];
blizniak
potrzebne mi jest cos takiego
w input wybralem np c:\\sdfsdfdsfds\huhui\hih\huh\plik.jpg
i potrzebuje zwrocic cala ta sciezke "c:\\sdfsdfdsfds\huhui\hih\huh\plik.jpg"
a nie samo "plik.jpg"
potrzebne mi to jest po to aby uzytkownik nie musial drugi raz wybierac w tym samym input jak bedzie on dobry bo bede mial kilka input do zdjec i wybieranie drugi raz tego samego jak bylo ono wczesniej dobre wydaje sie bez sensu

no ale $_FILES['userfile']['tmp_name']; nie zwroci mi sciezki podanej w input tylko sciezke gdzie plik zostal tymczasowo uploadowany
=kokos=
z tego co pamiętam to w przeglądarce IE jako wartość pola intput type="file" zapisywana jest dokładnie taka ścieżka o jaką Ci chodzi, czyli począwszy od literki dysku. Pod FF i Opera zapisywana jest tylko nazwa pliku.
Spróbuj pokombinować w ten sposób http://www.quirksmode.org/dom/inputfile.html .
blizniak
=kokos= nie wiem co masz na mysli z tym adresem no bo ja tam widze tylko ze mozemy zamiast standartowego inputa wyswietlic go w jakims obrazku zeby ladniej wygladal ale nigdzie nie widze czegos co szczytuje caly adres sciezki do pliku, jakbys mogl to prosze przedstaw jakies rozwiazanie tego problemu
mike
~blizniak to jest niewykonalne.
Nie ma możliwości grzebania komuś po dysku.
Mało kto by chciał, żeby ktoś zbierał informacje o strukturze jego folderów na dysku. Za bardzo godzi to w prywatność użytkowników.
blizniak
no ale mi nie chodzi o grzebanie tylko o zapamietanie tego pod jakas zmienna i pozniej jej wyswietlenie, no ale jak nie da rady to trudno smile.gif
Darti
No nie wiem, w javascript jakoś się da:
  1. <INPUT type="file" name="plik">
  2. <input type="button" value="ok" onclick="pokaz()">
  3. </form>
  4.  
  5. <script language="javascript">
  6. function pokaz(){
  7. pliczek = document.forms[0].plik.value;
  8. document.write(pliczek);
  9. }
blizniak
no niby dziala tylko mam takie 2 pytanka
jak tą sciezke zapisac pod jakas zmienna w php bo na javie sie nie znam za bardzo i nie wiem czemu ale czesto zawiesza mi sie to okienko ktore jest po przycisnieciu przegladaj i musze restartowac przegladarke
Darti
  1. <script language="javascript">
  2. function pokaz(){
  3. document.forms[0].ukryta_wartosc.value = document.forms[0].plik.value;
  4. document.forms[0].submit();
  5. }
  6. <form action="" method="post">
  7. <input type="hidden" name="ukryta_wartosc" value="" />
  8. <input type="file" name="plik">
  9. <input type="button" value="ok" onclick="pokaz()">
  10. </form>
  11. <?php
  12. print_r($_POST);
  13. ?>
blizniak
ok a jak np bede mial 2 inputy z file to wtedy jak to odebrac
Darti
tak samo tongue.gif
  1. <script language="javascript">
  2. function pokaz(){
  3. document.forms[0].sciezka1.value = document.forms[0].plik1.value;
  4. document.forms[0].sciezka2.value = document.forms[0].plik2.value;
  5. document.forms[0].submit();
  6. }
  7. <form action="" method="post">
  8. <input type="hidden" name="sciezka1" value="" />
  9. <input type="hidden" name="sciezka2" value="" />
  10. <input type="file" name="plik1" />
  11. <input type="file" name="plik2" />
  12. <input type="button" value="ok" onclick="pokaz()" />
  13. </form>
  14. <?php
  15. print_r($_POST);
  16. ?>
blizniak
no ok dzieki bardzo za to dziala dobrze ale znowu mam pytanie jak wyswietlic ta zmienna w tym input
  1. <?php
  2. echo '<input type=file name=plik1>';
  3. echo $_POST["sciezka1"];
  4. echo '</input>';
  5.  
  6. albo
  7.  
  8. echo '<input type=file name=plik1 value =.'$_POST["sciezka1"].' />';
  9. ?>

bo to wyzej nie dziala
czy jest jakis sposob na to
Darti
W tą stronę nie zrobisz. value jest tylko do odczytu.
Bo wyobraź sobie że wstawię value="/etc/passwd" i dam automatyczny submit() smile.gif
Poważne zagrożenie bezpieczeństwa narodowego smile.gif

Pzdr
blizniak
no ale ja nie chce wyswietlac zawartosci tego pliku tylko sama sciezke wyswietlic
no a takie pliki z haslami to juz raczej przez sytem sa chronione i to raczej system (np linux) powinien zadbac ze tylko okresleni uzytkowniy maja tam dostep do tego pliku
mike
~blizniak zrozum: nie da się tego zrobić exclamation.gif!
Za bardzo godzi to w bezpieczeństwo.

Co żeś się tak uparł?
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.