Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: UPLOAD - jak wyciagnac zmienna z nazwa pliku z $_FILES ???
Forum PHP.pl > Forum > PHP
rhyme
Mam problem.... mam formularz uploadu i wszystko fajnie dziala, ale dodatkowo potrzebuje zapisywac do oddziellnego pliku TXT nazwy przesylanego pliku. Jak ja wyciagnac??? bo juz wszystkiego probowalem.
W formularzu jest <input type="file" name="file[]">
a konfig wyglada tak:

$path = "bleble";
$where_to_go = $path."/";

while (list ($chave, $valor) = each ($_FILES['file']['tmp_name']))
{
if (move_uploaded_file($_FILES['file']['tmp_name'][$chave], $where_to_go . $_FILES['file']['name'][$chave]))
{
print "udalo sie";
}
else
{
print "dupa";
}
}
dob
[php:1:8b74a8f445]<?php
echo $_FILES['file']['name'];
?>[/php:1:8b74a8f445]
rhyme
eee no takie cos probowalem, tzn, nie chcem jej wyswietlac...
chcem zeby zmienna np. $nazwa = nazwie tego przesylanego pliku
zeby pozneij w txt dopisac sciezke rhyme/$nazwa

ps. probowalem
$nazwa = $_FILES['file']['name'];

nie chodzilo:( dopisuje w TXT "rhyme/"
rhyme
Cytat
[php:1:c76fdeb398]<?php
echo $_FILES['file']['name'];
?>[/php:1:c76fdeb398]


na takie echo wypisuje "Array"
KaMeLeOn
Popełniasz podstawowy błąd... Po co Ci file[] questionmark.gif
Wystarczy:
Kod
<input type="file" name="file">

Teraz nazwa pliku będzie poprawnie w:
[php:1:1632001fc2]<?php
echo $_FILES['file']['name'];
?>[/php:1:1632001fc2]

Jeśli jednak chesz sprawdzić zawartość tablicy używaj funkcji [manual:1632001fc2]print_r[/manual:1632001fc2].
rhyme
jak daje tylko name="file"
to upload nie dziala
Warning: Variable passed to each() is not an array or object

nie mam juz pomyslu, chyba zaczne od nowa i na JEDNYM uploadowanym pliku.
kurtz
Hej
Cytat
Mam problem.... mam formularz uploadu i wszystko fajnie dziala, ale dodatkowo potrzebuje zapisywac do oddziellnego pliku TXT nazwy przesylanego pliku. Jak ja wyciagnac??? bo juz wszystkiego probowalem.

1) file a nie file[]
2) aby wyciagnac nazwe pliku wystarczy $_FILES['file']['tmp_name']
3) wyrazenie [php:1:e312f3359d]while (list ($chave, $valor) = each ($_FILES['file']['tmp_name'])) [/php:1:e312f3359d] nie bardzo ma sens poniewaz $_FILES['file']['tmp_name'] nie jest tablica.

jesli chcesz przesunac plik oraz zapisac nazwe proponuje:
- move_uploaded_file by ckopiowac plik
- fopen "a" na pliku TXT, zapis do pliku, fclose.

while nie sa potrzebne ;)

Pozdrawiam
rhyme
Juz sobie poradzilem:)
zrezygnowalem z while`a tak jak pisales.
wszystko chodzi jak potrzeba na move_uploaded_file
Pokombinowalem, i udalo sie oczywiscie [b]dzieki za pomoc !!smile.gif
KaMeLeOn
Cytat
2) aby wyciagnac nazwe pliku wystarczy  $_FILES['file']['tmp_name']

Kurtz jesteś pewny, że tu będzie nazwa pliku?
$_FILES['file']['name']
mhs
swego czasu gdy uczylem sie tego wystukalem cos takiego, mysle ze moze sie to komus przyda...

[php:1:13af1c31a8]<?php
<a href="http://pl.php.net/manual/pl/features.file-upload.php">Handling file uploads</a>


<h1>POJEDYNCZY PLIK</h1>

<form action="test2.php" method="post" enctype="multipart/form-data">
Podaj plik: <input type="file" name="plik" /><br />
<input type="submit" value="&nbsp;&nbsp;wyślij&nbsp;&nbsp;" />
</form>
<?
echo "<b>Nazwa pliku: </b>".$_FILES['plik']['name']."<br />";
echo "<b>Typ pliku: </b>".$_FILES['plik']['type']."<br />";
echo "<b>Rozmiar pliku: </b>".$_FILES['plik']['size']."<br />";
echo "<b>Nazwa pliku tymczasowego: </b>".$_FILES['plik']['tmp_name']."<br /><br />";
?>

<h1>WIELE PLIKÓW</h1>


<form action="test2.php" method="post" enctype="multipart/form-data">
Podaj plik: <input type="file" name="pliki[]" /><br />
Podaj plik: <input type="file" name="pliki[]" /><br />
<input type="submit" value="&nbsp;&nbsp;wyślij&nbsp;&nbsp;" />
</form>

<?

echo "<b>Nazwa pliku 1: </b>".$_FILES['pliki']['name'][0]."<br />";
echo "<b>Typ pliku 1: </b>".$_FILES['pliki']['type'][0]."<br />";
echo "<b>Rozmiar pliku 1: </b>".$_FILES['pliki']['size'][0]."<br />";
echo "<b>Nazwa pliku tymczasowego 1: </b>".$_FILES['pliki']['tmp_name'][0]."<br /><br />";

echo "<b>Typ pliku 2: </b>".$_FILES['pliki']['type'][1]."<br />";
echo "<b>Nazwa pliku 2: </b>".$_FILES['pliki']['name'][1]."<br />";
echo "<b>Rozmiar pliku 2: </b>".$_FILES['pliki']['size'][1]."<br />";
echo "<b>Nazwa pliku tymczasowego 2: </b>".$_FILES['pliki']['tmp_name'][1]."<br /><br />";

?>

<hr />
Niektóre typy plików:
<b>*.pdf</b> - application/pdf
<b>*.mdb</b> - application/msaccess
<b>*.xls</b> - application/vnd.ms-excel
<b>*.doc</b> - application/msword

<b>*.gif</b> - image/gif
<b>*.jpg</b> - image/pjpeg

<b>*.exe</b> - application/octet-stream

<b>*.txt</b> - text/plain
?>[/php:1:13af1c31a8]
kurtz
Hej
Cytat
Cytat
2) aby wyciagnac nazwe pliku wystarczy  $_FILES['file']['tmp_name']

Kurtz jesteś pewny, że tu będzie nazwa pliku?
$_FILES['file']['name']
tia.. Tak, oczywsice chodzi o .. ["name"] zbyt szybko zrobilem kopiuj i wklej ;) Dziekuje za zwrocenie uwagi, za wprowadzenie w blad przepraszam.


Pozdrawiam
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.