Problem z przesyłaniem plików na serwer - PHP

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
cytrynek
Posty: 1
Rejestracja: pn maja 17, 2004 6:11 pm
Lokalizacja: znajomy

Problem z przesyłaniem plików na serwer - PHP

Post autor: cytrynek »

Mam problem z przesyłaniem pliku na serwer:
Po stronie pliku html wygląda to następująco:

<html>
<head>
<title>Administracja ? wysyłanie nowych plików</title>
</head>
<body>
<h1>Wysyłanie nowych plików informacyjnych</h1>
<form enctype="multipart/form-data" action="wyslij.php" method=post>
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Załaduj ten plik:<input name="plikuzytkownika" type="file">
<input type="submit" value="Wyslij">
</form>
</body>
</html>



Natomiast po stonie pliku wyslij.php tak:
<head>
<title>Wysyłanie...</title>
</head>
<body>
<h1>Wysyłanie pliku...</h1>
<?
echo "to jest plik uzytkownika ".$plikuzytkownika."<br>";
if ($plikuzytkownika=="none")
{
echo "Problem: nie wysłano żadnego pliku";
exit;
}

if ($plikuzytkownika_size==0)
{
echo "Problem: wysłany plik ma długość zero bajtów";
exit;
}

if ($plikuzytkownika_type!="text/plain")
{
echo "Problem: plik nie zawiera zwykłego tekstu";
exit;
}

if (!is_uploaded_file($plikuzytkownika))
{
echo "Problem: możliwy atak podczas wysyłania pliku";
exit;
}

$plik="/home/ksiazka/wyslane/".$plikuzytkownika_name;

if (!copy($plikuzytkownika, $plik))
{
echo "Problem: Plik nie może być skopiowany do katalogu";
exit;
}

echo "Plik wysłany<br><br>";
$wp=fopen($plik, "r");
$zawartosc=fread($wp, filesize($plik));
fclose ($wp);

$zawartosc=strip_tags($zawartosc);
$wp=fopen($plik, "w");
fwrite($wp, $zawartosc);
fclose($wp);
echo "Podgląd zawartości wysłanego pliku:<br><hr>";
echo $zawartosc;
echo "<br><hr>";

?>
</body>
</html>

Mój problem polega na tym że: nie mogę odebrać nazwy pliku w miejcu kodu: echo "to jest plik uzytkownika ".$plikuzytkownika."<br>";
oraz jak kiedyś mi się to udało: "Plik nie może być skopiowany do katalogu" pomimo, że chmod=777 oraz ze plik ma mniej niz 2MB jak to standardowo jest ustawione w php.ini. Dzięki za pomoc.

?>[/php]
Grzegorz Winiarski
Nowy
Nowy
Posty: 147
Rejestracja: pt lut 27, 2004 10:36 pm
Lokalizacja: Kraków

Re: Problem z przesyłaniem plików na serwer - PHP

Post autor: Grzegorz Winiarski »

Poczytaj o "Register Globals" podpowiem tylko, że chodzi o apache. Plik z formularza odbiera się poprzez $_FILES['plikuzytkownika']

A tak poza tym:
1. Temat niezgodny z regulaminem.
2. Nie używasz BBCODE
W jednym poście złamałeś regulamin 2 razy rzadko to się zdarza nawet nowym użytkownikom.
Norr
Posty: 5
Rejestracja: śr kwie 14, 2004 9:28 pm
Lokalizacja: Kołobrzeg
Kontakt:

Re: Problem z przesyłaniem plików na serwer - PHP

Post autor: Norr »

otwórz php.ini, gdy otworzy Ci się notatnik naciśnij ctrl+f, wpisz register_globals. Jesli masz off to zmień na on. Domyślnie jest na off.
ODPOWIEDZ