Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]upload
glass
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 23.03.2007
Skąd: United Kingdom

Ostrzeżenie: (10%)
X----


Mam pytanko, próbuje przy uploadowaniu stworzyć dwie bariery, dokładnie dwa formularze następujące po sobie:
pierwszy przechodzi w przypadku pobrania właściwego typu pliku drugi właściwego hasła:
teraz mam takie polecenie sprawdzające:

Kod
if (is_uploaded_file($_FILES['plik']['tmp_name']))
{echo"upload";}


oczywiście działa w przypadku gdy wysłałem plik na serwer, ale tylko po pierwszym wywołaniu formularza, chodzi mi o to czy da się zapisać te dane na przykład do ciasteczka, tak bym mógł wywołać ten warunek ponownie, po użyciu kolejnego formularza?

jeśli trzeba jaśniej to dam kod, dzięki za uwagę (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

Ten post edytował glass 27.10.2008, 00:58:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Witaj!

Możesz ustawić jakąś flagę w sesji po prostu i zerować ją przy wyświetlaniu drugiego formularza.

Pozdrawiam!
Go to the top of the page
+Quote Post
glass
post
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 23.03.2007
Skąd: United Kingdom

Ostrzeżenie: (10%)
X----


rozumiem że chodzi Ci o takie rozwiązanie:

Kod
<?php

if (is_uploaded_file($_FILES['plik']['tmp_name']))
        {
    session_start();
    $_SESSION['file']=$_FILES['plik']['tmp_name'];
        }
?>

po pierwszym wywołaniu formularza, mogę wywołać sesję i nadać jej ścieżkę pliku uploadowanego, ale co mi z tego?

to polecenie po przejściu do kolejnego formularza nie będzie aktywne:

Kod
move_uploaded_file($_SESSION['file'], $lokacja);

będę miał jedynie sesje, ale co z nią zrobić, czy mogę zamiast powyższej komendy użyć polecenia copy, czy to wypada w przypadku uploadu?

Ten post edytował glass 27.10.2008, 21:24:55
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zaraz po uploaddzie musisz plik skopiowac do swojego jakiegos katalogu tymczasowego.
Przy drugim formie bedziesz pobieral plik wlasnie z tamtej lokalizacji.
Swoj plik tymczasowy czysc co jakis czas by usunac smieci - pliki pozostale, bo ktos nie doszedl do kroku drugiego
Go to the top of the page
+Quote Post
glass
post
Post #5





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 23.03.2007
Skąd: United Kingdom

Ostrzeżenie: (10%)
X----


dzięki za pomoc, ok jest to jakieś rozwiązanie, doszedłem do kopiowania przez copy i jest coś nie tak:

Kod
<?php
$_SESSION['file']=$_FILES['plik']['tmp_name'];
$_SESSION['lokacja']=$_SERVER['DOCUMENT_ROOT'] . '/lama/include/' . basename($_FILES['plik']['name']);
?>


Kod
<?php
$potwierdz=$_POST['potwierdz'];
$haslo=$_POST['haslo'];

if(($haslo == "ff") or ($haslo == "haslo:ff") and ($potwierdz == "ok"))
{
session_start();
copy($_SESSION['file'], $_SESSION['lokacja']);

setcookie('haslo', 'ff');
echo"<div id='gotowe'>GOTOWE</div>";
}

?>


w sposób powyżej nie chce kopiować, natomiast jeśli umieszczę copy poza warunkiem to kopiuje bez problemu, o co chodzi?

Ten post edytował glass 27.10.2008, 23:01:57
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zdajesz sobie sprawe, iz ten warunek:
($haslo == "ff") or ($haslo == "haslo:ff") and ($potwierdz == "ok")
zachowa sie inaczej niz ten:
(($haslo == "ff") or ($haslo == "haslo:ff")) and ($potwierdz == "ok")
?
Podobnie z dzialaniem arytmetycznym:
2+3*4 da ci inny wynik niz (2+3)*4
Go to the top of the page
+Quote Post
glass
post
Post #7





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 23.03.2007
Skąd: United Kingdom

Ostrzeżenie: (10%)
X----


zaraz to poprawie, działanie matematyczne faktycznie mówi co innego!
dzienx, powyższy problem już rozwiązałem używając do przenoszenia danych move_uploaded_file i tyle :A
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 11:39