Witam!
Mam problem ze swoim uploader'em. Mianowicie, pliki typu zdjęcia, muzyka, rar/zip wrzuca bez problemu. Problem pojawia się przy wrzucaniu plików tekstowych, typu php/css/txt itd. Na końcu tych plików umieszcza mi kod źródłowy mojej strony, nie mam pojęcia czemu. Mój kod wygląda tak:
if ( !isset($_POST['wrzucaj']) )
{
$body = '<div style="margin-left: 150px;"><form enctype="multipart/form-data" action="upload.php" method="POST">
<input name="plik" width="300" type="file">
<input type="submit" name="wrzucaj" value="Wgraj">
</form></div>';
require_once('page_header.php');
echo $body;
require_once('page_footer.php');
exit;
}
else if ( isset($_POST['wrzucaj']) )
{
$u_plik = $_FILES['plik']['tmp_name'];
$u_nazwa = $_FILES['plik']['name'];
$u_rozmiar = $_FILES['plik']['size'];
$u_max_rozmiar = 2*1024*1024; //Maksymalny rozmiar pliku dozwolony do wgrania a bajtach - w przykladzie 2MB
$rozszerzenie = pathinfo($u_nazwa, PATHINFO_EXTENSION);
if($u_rozmiar > $u_max_rozmiar)
{
require_once('page_header.php');
echo "Plik jest zbyt duzy!";
require_once('page_footer.php');
}
else if(is_uploaded_file($u_plik))
{
$name = str_replace(' ', '_', $u_nazwa);
$nazwa = str_replace('.'.$rozszerzenie, '', $name);
$file_name = $nazwa . '_' . generate_id();
$file_name_roz = $nazwa . '_' . generate_id() . '.' . $rozszerzenie;
$id_del = generate_id_delete();
var_dump($file_name_roz);
if (move_uploaded_file($u_plik, "upload/$file_name_roz") == TRUE )
{
$sql = "INSERT INTO `download` (`file_name`, `file_name_type`, `id_to_delete`) VALUES ('".$file_name."', '".$file_name_roz."', '".$id_del."')";
$result = mysql_query($sql)
or die("Nie udalo sie dodac pliku");
require_once('page_header.php');
echo "Plik: <b>" . $u_nazwa . "</b> (" . $u_rozmiar . " B) został uploadowany!<br>Link do downloadu: <input type='post' style='width: 400px;' onMouseOver='this.focus(); this.select()' style='cursor: pointer;' onClick='window.open(this.value);' value='" . selfURL() . "/upload/upload.php?download=".$file_name."'><br>Kod na forum: <input type='post' style='width: 400px;' onMouseOver='this.focus(); this.select()' style='cursor: pointer;' onClick='window.open(this.value);' value='[code]" . selfURL() . "/upload/upload.php?download=".$file_name."[/code]'><br>Link do usuniecia: <input type='post' style='width: 400px;' onMouseOver='this.focus(); this.select()' style='cursor: pointer;' onClick='window.open(this.value);' value='" . selfURL() . "/upload/upload.php?delete=".$id_del."'>";
require_once('page_footer.php');
}
else
{
require_once('page_header.php');
echo "Niespodziewany błąd";
require_once('page_footer.php');
}
}
}
Chodzi o ten pierwszy warunek - cała zawartość tego warunku, ląduje w plikach na dole. Dlaczego tak jest? Nikt nie potrafi mi pomóc, a ja sam nie mam pojęcia o co chodzi :/
Pozdr.