Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] ścieżka do pliku
Forum PHP.pl > Forum > Przedszkole
kocic
witam, rolleyes.gif

jak można odczytać pełną ścieżkę do pliku wskazanego poprzez formularz?
chodzi o to, żeby można było edytować wskazany plik.

<form action="edycja.php" method="post" >
Przeglądaj:<input name="plik" type="file" enctype="multipart/form-data"/> <br />
<input name="Wczytaj" type="submit" enctype="multipart/form-data"/>
</form>


korzystając w pliku edycja.php z tablicy $_FILES['plik']['name'] otrzymuję wyłącznie nazwę pliku. odczytując wartość pola plik z formularz, również otrzymuję tylko nazwę pliku - bez ścieżki dostępu do niego.
z tego względu nie można go wczytać i edytować no i zapisać.

dzięki za pomoc biggrin.gif
mild
Pliki 'zapisujesz' przez funkcje move_uploaded_file()
U Ciebie bedzie to wygladac mniej wiecej tak:
  1. <?php
  2. $tmpname = $_FILES['plik']['tmp_name'];
  3. $name = $_FILES['plik']['name'];
  4. move_uploaded_file($tmpname, "sciezka/do/zapisu/$name");
  5. ?>
kocic
witam,

ten kod zadziała, kiedy będę chciał skopiować plik do sciezka/do/zapisu/$name (ustawiona na sztywno), ale dalej nie mam pełnej ścieżko dostępu do pliku.
  1. <?php
  2. $tmpname = $_FILES['plik']['tmp_name']
  3. ?>

wskazuje mi miejsce tylko do pliku tymczasowego. Jeżeli w formularzu zaznaczę plik np. c:\katalog\katalog2\plik.txt, to po użyciu
  1. <?php
  2. $_FILES['plik']['name']
  3. ?>

otrzymam plik.txt. Cała ścieżka jest zgubiona (c:\katalog\katalog1)
Jak można edytować teraz plik.txt?
  1. <?php
  2. $edycja=file_exists($_FILES['plik']['name'])
  3. ?>

informuje, że nie ma takiego pliku.

dzięki wielkie za pomoc :-)
mike
Ty chcesz pobrać ścieżkę to pliku tymczasowego czy do pliku na dysku klienta, który Ci ten plik uploadował?
Jeśli to pierwsze to ~mild pokazał jak, jeśli ot drugie to muszę powiedzieć, że pomysł niedorzeczny i niemożliwy do wykonania tongue.gif (no chyba że cos z JS się załatwi ale raczej nie masz szans).

A poza tym żeby mieć dostęp do uploadowanego pliku musisz go przenieść z folderu tymczasowego w inną, wskazaną przez Ciebie lokalizację.
kocic
dzięki wielkie za pomoc rolleyes.gif
czyli jeżeli chcę przeczytać plik to i tak muszę go edytować z pliku tymczasowego, i dopiero z niego zapisywać do bazy edytowaną treść?
mild
Ja bym zapisał sobie plik w swoim folderze (move_uploaded_file()), później go otworzył (fopen() i cała reszta), zapis do bazy i unlink() do usunięcia pliku z folderu.

BTW. Co chcesz w nim edytowac?
Bo edycja pliku a jego odczytanie to troche co innego winksmiley.jpg
miklosz
Witam!
Mam podobny problem - chodzi o to, że w bazie potrzebne mi info o tym, gdzie jest przechowywany plik na zamapowanym dysku. Przy wprowadzaniu formularza istotna jest tylko ścieżka do pliku, sam plik nie ma być w zasadzie uploadowany. Czy to w ogóle jest wykonalne??
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.