Problem z przesyłaniem plików na serwer - PHP
: pn maja 17, 2004 6:34 pm
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]
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]