Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: upload pliku z dysku na serwer - sciazka do pliku na dysku przysylana przez URL
Forum PHP.pl > Forum > PHP
bethebest
Witam, posiadam taki problem. Chce za pomoca php przeslac plik z dysku na serwer. Załózmy ze jest plik index.php, za pomoca ktorego mamy zwykly formularz do uploadu pliku, czyli przegladaj pliki, potme wybieramy plik, w polu tekstowym pojawia sie sciezka do pliku i dajemy wyslij i plik znajduje sie na serwerze, np taki kod ktory znalazlem w internecie zeby bylo szybciej:

<?php
echo '<?xml version="1.0" encoding="iso-8859-2"?>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<title>Upload</title>
</head>
<body>

<div>
<form enctype="multipart/form-data" action="index.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="50000" />
<input name="plik" type="file" />
<input type="submit" value="Wyślij plik" />
</form>
</div>

<?php

$plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];

if(is_uploaded_file($plik_tmp)) {
move_uploaded_file($plik_tmp, "upload/$plik_nazwa");
echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
<strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
}
?>
</body>
</html>


Jednak problem polega na tym, aby nie wypelniac formularza tylko po prostu przeslac zmienna do formularza za pomoca url np index.php?plik=c:/plik.gif . Wtedy autmatycznie plik ze sciezki c:/plik.gif zostalby auploadowany na serwer. Proszę o pomoc.
Wiem ze dodajac $_GET['plik'];uzyskuje ten adres pliku na dysku, jednak nie wiem jak to powiazac z $_FILES.
Sky_walker
Cały rozdział z dziesiątkami przykładów jest na pl.php.net smile.gif
mike
Cytat(bethebest @ 12.02.2009, 13:15:15 ) *
Jednak problem polega na tym, aby nie wypelniac formularza tylko po prostu przeslac zmienna do formularza za pomoca url np index.php?plik=c:/plik.gif .
Niewykonalne bo bardzo niebezpieczne.
Wyobraź sobie wchodzę na Twoja stronę a Ty mnie automatycznie przekierowujesz na stronę:
http://strona.h4x00r4.pl/upload.php?file=c:/password.txt
I co? Mój komputer ma Cię uszczęsliwić tym plikiem? Bzura, co?
bethebest
no ale musi istniec jakis sposob. Przeciez klikajac przsegladaj wybieram konkretny plik i nazwa tego pliku i sciezak do niego jest gdzies zapisywana. To czemu mialoby nie istniec rozwiazanie z URL? Wydaje mi sie ze trzeba pokombinowac ze zmiennymi i licze ze ktos juz wczesniej sie tym bawil.
mike
Nie da się zrobić tego za pomocą HTTP GET.
Poczytaj sobie najpierw podstawy protokołu HTTP tongue.gif
Pilsener
Cytat
Wtedy autmatycznie plik ze sciezki c:/plik.gif zostalby auploadowany na serwer
- pomyśl trochę - czyli każdy sobie może tak po prostu pobrać dowolny plik od użytkownika wchodzącego na stronę? Np. plik z hasłami? sciana.gif To użytkownik wysyła plik i to od niego zależy, czy plik zostanie wysłany czy nie. Od rozpowszechniania plików jest P2P, a nie http smile.gif
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.