Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Kilka pytan - co do mojego uploadu
zdzichu6969
post 26.05.2008, 20:59:03
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 26.05.2008

Ostrzeżenie: (0%)
-----


Witam wszystkich, na wstepie chciałbym się przywitac:P


1. Mam upload plików chciałbym, aby za pomoca niego uploadowało by mi tylko pliki graficzne tj. tif, gif, jpg, bmp i zeby automatycznie blokowane były inne rozszezenia.
Działa to pod adresem: www.grucha.elektroda.eu
Tak wygląda skrypt:
Cytat
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<title>Upload by Grucha</title>
</head>
<body>
<body bgcolor="gray">
<font color="white">
<center> <br><img src="http://grucha.elektroda.eu/gfx.jpg"><br><br>


<b>UPLOAD PLIKÓW BY GRUCHA</b><br><br><br>
<?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">


<div>
<form enctype="multipart/form-data" action="index.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="450000000000000" />
<input name="plik" type="file" />
<input type="submit" value="Wgraj" />
</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!";

echo "<br>Znajduję sie pod adresem:<b> <a href='http://grucha.elektroda.eu/upload/$plik_nazwa'>http://grucha.elektroda.eu/upload/$plik_nazwa</a>
<br><br>
<table border='0'><center>
<tr><td><td bgcolor='#426B9C'> <br>
Grafika na WWW<br>
<textarea cols='45' rows='5'><img src='http://grucha.elektroda.eu/upload/$plik_nazwa'></textarea>
<br><br>
Postać linku<br>
<textarea cols='45' rows='5'><a href='http://grucha.elektroda.eu/upload/$plik_nazwa'></textarea>
<br><br>
Miniaturka HTML<br>
<textarea cols='45' rows='5'><a href='http://grucha.elektroda.eu/upload/$plik_nazwa'><img src='http://grucha.elektroda.eu/upload/$plik_nazwa' width='200' height='160' border='0' target='_new'></a></textarea>
<br></center>
</td><td><td bgcolor='#426B9C'>
<br><br>
Wgrany obraz:<br>
<a href='http://grucha.elektroda.eu/upload/$plik_nazwa'><img src='http://grucha.elektroda.eu/upload/$plik_nazwa' width='200' height='160' border='0' target='_new'></a>
</td></table>
</b>";

}
?>
<br><br><br><br>
ŠWszelkie prawa zastrzeżone <a href="kontakt.html" target="new">Grucha</a><br>
Strona na serwerze elektroda.eu | Dzięki uprzejmości <a href="http://elektroda.pl" target="new">elektroda.pl</a>
</body>
</html>
</font>


Ten post edytował Cysiaczek 26.05.2008, 21:25:07
Powód edycji: dodałem tag (cysiaczek)
Go to the top of the page
+Quote Post
.radex
post 26.05.2008, 21:08:53
Post #2





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

Ostrzeżenie: (0%)
-----


Jaki to ma związek z programowaniem obiektowym?

Co do pytania:

$_FILES['plik']['name']

później tylko np. explode i patrzysz na ostatni człon.


--------------------
blog | Tadam — minutnik do Pomodoro na Maka :)
Go to the top of the page
+Quote Post
zdzichu6969
post 26.05.2008, 21:22:00
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 26.05.2008

Ostrzeżenie: (0%)
-----


Przepraszam, nie wiedziałem gdzie to przyczepic.

radex_p
jak to bedzie wyglądac w praktyce w skrypcie?
Go to the top of the page
+Quote Post
Puciek
post 26.05.2008, 21:28:01
Post #4


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Takiego czegos nie daje sie na serwer, trzymaj localnie az bedzie mialo sens tongue.gif

http://grucha.elektroda.eu/upload/phpinfo.php
Szkoda tylko ze shell_exec wylaczony sad.gif

Ten post edytował Puciek 26.05.2008, 21:28:41


--------------------

http://puciek.wordpress.com prywatnie o świecie
Go to the top of the page
+Quote Post
Cysiaczek
post 26.05.2008, 21:31:12
Post #5





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




W praktyce? Wystarczą samiuteńkie podstawy php smile.gif Odrobina samodzielności.

http://pl.php.net/manual/en/function.explode.php

i komentarze na tych stronach:
http://pl.php.net/manual/en/function.is-uploaded-file.php
http://pl.php.net/manual/en/function.move-uploaded-file.php


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
empathon
post 26.05.2008, 21:38:31
Post #6





Grupa: Zarejestrowani
Postów: 246
Pomógł: 31
Dołączył: 13.11.2006
Skąd: się znamy?

Ostrzeżenie: (0%)
-----


Ojoj panie z czym do ludzi?
Kod
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<title>Upload by Grucha</title>
</head>
<body>
<body bgcolor="gray">

Dwa razy otwierasz body?
Kod
<font color="white">
<center> <br><img src="http://grucha.elektroda.eu/gfx.jpg"><br><br>


<b>UPLOAD PLIKÓW BY GRUCHA</b><br><br><br>
<?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">

A to przypadkiem nie powinno być na początku?
Kod
<div>
<form enctype="multipart/form-data" action="index.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="450000000000000" />
<input name="plik" type="file" />
<input type="submit" value="Wgraj" />
</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!";

echo "<br>Znajduję sie pod adresem:<b> <a href='http://grucha.elektroda.eu/upload/$plik_nazwa'>http://grucha.elektroda.eu/upload/$plik_nazwa</a>
<br><br>
<table border='0'><center>
<tr><td><td bgcolor='#426B9C'> <br>
Grafika na WWW<br>
<textarea cols='45' rows='5'><img src='http://grucha.elektroda.eu/upload/$plik_nazwa'></textarea>
<br><br>
Postać linku<br>
<textarea cols='45' rows='5'><a href='http://grucha.elektroda.eu/upload/$plik_nazwa'></textarea>
<br><br>
Miniaturka HTML<br>
<textarea cols='45' rows='5'><a href='http://grucha.elektroda.eu/upload/$plik_nazwa'><img src='http://grucha.elektroda.eu/upload/$plik_nazwa' width='200' height='160' border='0' target='_new'></a></textarea>
<br></center>
</td><td><td bgcolor='#426B9C'>
<br><br>
Wgrany obraz:<br>
<a href='http://grucha.elektroda.eu/upload/$plik_nazwa'><img src='http://grucha.elektroda.eu/upload/$plik_nazwa' width='200' height='160' border='0' target='_new'></a>
</td></table>
</b>";

}
?>
<br><br><br><br>
ŠWszelkie prawa zastrzeżone <a href="kontakt.html" target="new">Grucha</a><br>
Strona na serwerze elektroda.eu | Dzięki uprzejmości <a href="http://elektroda.pl" target="new">elektroda.pl</a>
</body>
</html>
</font>

I dajesz coś za zamknietym znacznikiem </html> ?
To wszystko szczegóły.
Co do typu pliku(niekoniecznie rozszerzenia) sprawdź mime_content_type.
To podstawowe zabezpieczenie.
W tym momencie można Ci wgrać cokolwiek. Lepiej usuń skrypt puki go nie zabezpieczysz!


--------------------
Goldenline: Łukasz Rodziewicz
Go to the top of the page
+Quote Post
zdzichu6969
post 26.05.2008, 21:39:42
Post #7





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 26.05.2008

Ostrzeżenie: (0%)
-----


Nie jestem w stanie pojąć php tak szybko. Dotychczas znałem biegle html'a. Widac to szczególnie z mojego Uploadu, jednak potrzebuje tylka tę jedyną funkcję wstydnis.gif

Mimo wszystko dziękuje za pomoc - każdy otrzymuje punkt pomógł.
Pozdrawiam.

Z chęcią przyjmę więcej instrukcji.

gg tez
//GG: 3216215

Ten post edytował zdzichu6969 26.05.2008, 22:14:17
Go to the top of the page
+Quote Post
miccom
post 26.05.2008, 23:03:14
Post #8





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Cytat(zdzichu6969 @ 26.05.2008, 21:39:42 ) *
Nie jestem w stanie pojąć php tak szybko. Dotychczas znałem biegle html'a. Widac to szczególnie z mojego Uploadu, jednak potrzebuje tylka tę jedyną funkcję wstydnis.gif

Mimo wszystko dziękuje za pomoc - każdy otrzymuje punkt pomógł.
Pozdrawiam.

Z chęcią przyjmę więcej instrukcji.

gg tez
//GG: 3216215

Myślę że ktoś kto zna biegle html nie otwiera dwóch <body> ;/

Mój upload plików(zdjęć) wygląda tak:

formularz_uploadu.php
  1. <?
  2. echo "<FORM ACTION='upload.php' METHOD='POST' ENCTYPE='multipart/form-data'>";
  3. echo " Zdjęcie: <INPUT type='file' name='zdjecie'><br>";
  4. echo "<input type='hidden' name='MAX_FILE_SIZE' value='32500' />"; /* maksymalna wielkość pliku w bajtach */
  5. echo "<button type='submit' name='oki' value='wyślij zdjęcie do bazy'>";
  6. echo "<img src='zdj/wyslij.jpg' width='50' height='14' alt='wyślij zdjęcie do bazy danych'>";
  7. echo "</button>"; 
  8. echo "</form>";
  9. ?>

upload.php
  1. <?php
  2. $explode = explode('.', $HTTP_POST_FILES['zdjecie']['name']);
  3. if($explode[1] == 'jpg' || $explode[1] == 'gif' || $explode[1] == 'png' || $explode[1] == 'GIF' || $explode[1] == 'JPG' || $explode[1] == 'PNG' || $explode[1] == 'TIF' || $explode[1] == 'tif' || $explode[1] == 'PSD' || $explode[1] == 'psd' || $explode[1] == 'JPEG' || $explode[1] == 'jpeg') {
  4. $size=getimagesize($_FILES['zdjecie']['tmp_name']);
  5. $size[0];
  6. $size[1];
  7. $xx=$size[0]*$size[1];
  8. $xx;
  9. if($size[0] < 360 && $size[1] < 500){//tu wstawiasz max rozmiar obrazka
  10. $fhandle = fopen($HTTP_POST_FILES['zdjecie']['tmp_name'], "r");
  11. $content = base64_encode(fread($fhandle, $HTTP_POST_FILES['zdjecie']['size']));
  12. fclose($fhandle);
  13.  
  14. include('config.php');
  15. $query = sprintf("insert into zdjecia (username, zdjecie, obecne) values (\"%s\"\"%s\"\"%s\")", $HTTP_POST_VARS['username'], $content, 'TAK');
  16. $zapytanie = mysql_query($query);
  17.  
  18. if (!$zapytanie) 
  19. { 
  20. echo sprintf("Nie można dodać zdjęcia! Sad Error : %s", mysql_error()) ; 
  21. }
  22. else 
  23. { 
  24. echo "<center><img src=\"http://www.twoja_strona.pl/showimage.php?username=".$l."\"></center>";//u mnie każdy user może dodać fotki i stąd podział. Można to ominąć.
  25. echo "<center>";
  26. echo "Powyższy obrazek został zapisany do bazy danych MySQL";
  27. echo "</center>";
  28. }
  29. }else{
  30. echo "plik jest za duży!";
  31. } 
  32. }else{
  33. echo "Wybrany plik ma nieodpowiednie rozszerzenie!"; 
  34. }
  35. }else{
  36. echo "Próba włamania do systemu! Próbujesz złamać PRAWO POLSKIE.<br /> Twój adres IP (<b> $ipik</b> ) został zapisany- przy następnej próbie zostanie zablokowany, a My wystąpimy na drogę sądową.";
  37. }
  38. ?>


showimage.php- ten skrypt przekazuje do serwera zdjęcie(jeśli jest w bazie)
  1. <?
  2. header("Content-type: image/jpg;");
  3. $l=$_GET['username'];
  4. include('config.php');
  5. $result = mysql_query("SELECT zdjecie FROM zdjecia WHERE `username`='$l'");
  6. if (mysql_num_rows($result) != 0)
  7. {
  8. $row = mysql_fetch_assoc($result);
  9. echo base64_decode($row['zdjecie']);
  10. }
  11. ?>


Myślę że pomogłem. Pozdrawiam. miccom


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 21:50