Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Upload pliku bez formularza
Forum PHP.pl > Forum > Przedszkole
masterinfo
Witam.

Chciałbym wykonać skrypt, który pozwoli mi na upload plików z komputera lokalnego na serwer. Niestety wszystkie rozwiązania znalezione przeze mnie opierają się na formularzu, który przekazuje dane do dalszej części skryptu. Zależy mi na tym, żeby dało się to zrobić pojedynczym skryptem.
Może łatwiej będzie to zobrazować w ten sposób:
jest sobie jakiś skrypt, załóżmy, że ma nazwę upload.php. Wpisuję w pasku przeglądarki np. www.adres.com/upload.php?plik=nazwa_pliku.txt, a wynikiem jest wgranie pliku na serwer.
Tylko tak się teraz zastanawiam, że to chyba nietrafiony pomysł, bo przecież skąd serwer będzie wiedział, gdzie na dysku u mnie znajduje się ten plik...

Może mój problem jest nietypowy, ale potrzebuję skryptu, który może być wywołany przez zewnętrzną aplikację. Można to teoretycznie rozwiązać przez ftp, ale to odpada, bo program ma być "idiotoodporny" i maksymalnie uproszczony w obsłudze, no i nie wiadomo z góry jaki będzie adres serwera ftp, nazwa użytkownika oraz hasło.

Czy ktoś może mi podać jakieś rozwiązanie? Co mogę zrtobić, żeby to tak działało, ewentualnie czego użyć zamiast/z php, w celu osiągnięcia opisanego wyniku?
Bastion
Litości smile.gif

Nie da sie tak, upload za pomoca skryptu php tylko za pomoca formularza czyli $_FILES
Ludvik
Możesz przesłać pliki metodą PUT protokołu HTTP (nie gwarantuję, że serwer to obsługuje). Możesz też przesłać plik zakodowany base64_encode" title="Zobacz w manualu php" target="_manual, chociaż nie sądzę, żeby to był najlepszy pomysł. Samo php nie wyciągnie Ci pliku z maszyny klienta. Formularze też można przesłać cURL'em, albo wysyłając ręcznie żądanie POST.

Ja mimo wszystko bym się skłaniał w stronę formularzy i cURL, który jest dostępny jako biblioteka w wielu językach.
masterinfo
Cytat(Ludvik @ 3.07.2006, 09:12 ) *
Formularze też można przesłać cURL'em, albo wysyłając ręcznie żądanie POST.


No to będę musiał spróbować pomęczyć się ręcznie z POSTem, mam nadzieję że coś mi się z tego wykluje smile.gif

Czy ktoś może mi jeszcze powiedzieć, w jaki sposób do POSTa wcisnąć plik?questionmark.gif Bo jasnym jest dla mnie jak się odwołać do pliku, który już się znalazł na serwerze, ale nie wiem jak zmusić serwer do pobrania go sad.gif sad.gif
Wiem, że marudzę, ale jakoś sobie nie radzę angrysmiley.gif
Athlan
Eeeee... chłopaki... da się smile.gif

możesz zrobić tajny formularz z inputami hidden i wtedy używasz przy onload magicznego języka JavaScript smile.gif

przyda Ci się takie coś:

Kod
<script>
<!--
function kliku-kik()
{
  document.kupa.submit(); // czy jakoś tak
}
setTimeout(kupa,0000);
//-->
</script>

<form name="kupa" action="..." enctype="cośtam">
<input type="hidden" name="..." value="...">
</form>


pozdro smile.gif

Cytat
Czy ktoś może mi jeszcze powiedzieć, w jaki sposób do POSTa wcisnąć plik?questionmark.gif


  1. <form action="..." method="post" enctype="multipart/form-data">


kluczem jest enctype="multipart/form-data"

pzdr smile.gif
Gość
Wydaje mi sie że w php też sie da, poczytaj o ftp aby pobrać plik i fsockopen" title="Zobacz w manualu php" target="_manual oraz pakietach, w których możemy dowolnie umiescic dane POST
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.