php script

Pokec o čemkoliv ostatním
Message
Autor
prostejov
Příspěvky: 200
Registrován: 17 říj 2011, 13:13
Reputation: 0

php script

#1 Příspěvekod prostejov » 31 pro 2012, 17:42

tady je script kterej by mel uploadovat obrazky a nazev obrazku vymenit za vlastne vygenerovany nazev a nejak mi to nejde :

Kód: Vybrat vše

<style type="text/css">
chyba {
   line-height: 2.0em;
   margin-bottom: 20px;
   font-weight: bold;
   color: red;
   font-size: 25px;
}
podchyba {
   line-height: 2.0em;
   margin-bottom: 20px;
   font-weight: bold;
   color: red;
   font-size: 14px;
}

cod {
   line-height: 2.0em;
   margin-bottom: 20px;
   font-weight: bold;
   color: white;
   font-size: 14px;
}

uspech {
   line-height: 2.0em;
   margin-bottom: 20px;
   font-weight: bold;
   color: green;
   font-size: 14px;
}

nad {
   line-height: 2.0em;
   margin-bottom: 20px;
   font-weight: bold;
   color: yellow;
   font-size: 14px;
}
</style>
<form action="#" method="post" enctype="multipart/form-data">
<td width="100" align="right">
<nad>Název:</nad> </td>
<td width="200" align="left">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<input type="text" name="jmeno"></td></tr><br>
<tr><td width="100" align="right">
<nad>Soubor:</nad> </td>
<td width="200" align="left"><input name="obrazek" type="file"></td></tr>
<tr><td colspan="2" width="300">
<input type="submit" value="Nahrát obrázek"></form></td></tr></table></td></tr></table>
<nad>POZOR! - do názvu zadejte kombinaci písmen a číslic např."eiponj876hjl" jinak může soubor někdo odcizit nebo se může stát, že soubor bude smazán!</nad>
<nad>Nahrávat můžete soubory pouze typu .jpg .jpeg .png .bmp !</nad>
<?php if (is_uploaded_file($_FILES['obrazek']['tmp_name']))  {
if($_FILES['obrazek']['type']=="image/jpeg" or $_FILES['obrazek']['type']=="image/pjpeg" or $_FILES['obrazek']['type']=="image/png" or $_FILES['obrazek']['type']=="image/bmp"){ 






$jmeno=$_POST['jmeno'];

$special = array('/','!','&','*',' ','-');

$new_file_name = str_replace(' ',' ',str_replace($special,'',$_FILES));
echo '['.$new_file_name.']';

$path= "/soubory/".$new_file_name;

if($ufile !=none)
{
if(copy($_FILES['ufile']['tmp_name'], $path))
{
echo "Successful<BR/>";
echo "File Name :".$new_file_name."<BR/>";
echo "File Size :".$_POST['jmeno']['size']."<BR/>";
echo "File Type :".$_POST['jmeno']['type']."<BR/>";
}
else
{
echo "Error";
}
}
?>





 



http://www.supercraft.cz Servery pro Minecraft,BF3,CS 1.6 a GTA
http://www.nahravej.eu Nový projekt pro upload obrázků

Uživatelský avatar
Nyqi
Příspěvky: 551
Registrován: 23 bře 2012, 09:34
Reputation: 0

Re: php script

#2 Příspěvekod Nyqi » 31 pro 2012, 17:58

Nějakou chybu ti to vypisuje?
Obrázek

prostejov
Příspěvky: 200
Registrován: 17 říj 2011, 13:13
Reputation: 0

Re: php script

#3 Příspěvekod prostejov » 31 pro 2012, 18:05

Parse error: syntax error, unexpected $end in /home/users/prostejovpk1/mcteam.eu/web/upload.php on line 95
http://www.supercraft.cz Servery pro Minecraft,BF3,CS 1.6 a GTA
http://www.nahravej.eu Nový projekt pro upload obrázků

Uživatelský avatar
Mysteria
Příspěvky: 9122
Registrován: 26 pro 2009, 15:40
Reputation: 7
Bydliště: Česká republika
Kontaktovat uživatele:

Re: php script

#4 Příspěvekod Mysteria » 31 pro 2012, 18:28

No na řádku 95 máš syntaktickou chybu. A počítat, kterej řádek je 95. rozhodně nebudu :)

prostejov
Příspěvky: 200
Registrován: 17 říj 2011, 13:13
Reputation: 0

Re: php script

#5 Příspěvekod prostejov » 31 pro 2012, 18:36

to je divný ... 95 řádků to ani nemá :(
http://www.supercraft.cz Servery pro Minecraft,BF3,CS 1.6 a GTA
http://www.nahravej.eu Nový projekt pro upload obrázků

prostejov
Příspěvky: 200
Registrován: 17 říj 2011, 13:13
Reputation: 0

Re: php script

#6 Příspěvekod prostejov » 31 pro 2012, 19:56

pomůže mi někdo najít tu chybu pls ? :D
http://www.supercraft.cz Servery pro Minecraft,BF3,CS 1.6 a GTA
http://www.nahravej.eu Nový projekt pro upload obrázků

Uživatelský avatar
Mysteria
Příspěvky: 9122
Registrován: 26 pro 2009, 15:40
Reputation: 7
Bydliště: Česká republika
Kontaktovat uživatele:

Re: php script

#7 Příspěvekod Mysteria » 31 pro 2012, 21:02

Celý to máš divný. Kdyby jsi si tu PHPkovou část zarovnal, tak by jsi zjistil (alespoň v tom co si poslal do fóra) chybí ukončovací závorka prvního IFu.

Kód: Vybrat vše

if (is_uploaded_file($_FILES['obrazek']['tmp_name']))  
{
    if(
$_FILES['obrazek']['type']=="image/jpeg" or $_FILES['obrazek']['type']=="image/pjpeg" or $_FILES['obrazek']['type']=="image/png" or $_FILES['obrazek']['type']=="image/bmp")
    { 
        
$jmeno=$_POST['jmeno'];
        
$special = array('/','!','&','*',' ','-');
        
$new_file_name str_replace(' ',' ',str_replace($special,'',$_FILES));
        echo 
'['.$new_file_name.']';
        
$path"/soubory/".$new_file_name;
        if(
$ufile !=none)
        {
            if(
copy($_FILES['ufile']['tmp_name'], $path))
            {
                echo 
"Successful<BR/>";
                echo 
"File Name :".$new_file_name."<BR/>";
                echo 
"File Size :".$_POST['jmeno']['size']."<BR/>";
                echo 
"File Type :".$_POST['jmeno']['type']."<BR/>";
            }
            else
            {
                echo 
"Error";
            }
        }
    }

Navíc celej ten skript je divnej.
Ta první podmínka na kontrolu typu souborů je hnusná, jde to udělat mnohem elegantněji.
Tenhle řádek děláš co? $new_file_name = str_replace(' ',' ',str_replace($special,'',$_FILES)); Pochopil bych str_replace($special,'',$_FILES), který vyháže z názvu nechtěný znaky, ale proč je tam ještě ten začátek?
Funkce copy není vhodná pro tohle, protože ti v tempu budou pořád zůstávat ty původní soubory, respektive každej soubor tam budeš mít 2x, ty nechceš vytvořit kopii, ale přesunout jenom ten soubor.
Proč používáš nakonci $_POST['jmeno']['size'], když jsi si udělal $jmeno=$_POST['jmeno'];? Použij pak $jmeno['size'].
Naopak chválím použití funkce is_uploaded_file, to jsi udělal dobře.

Co vlastně chceš udělat? Image hosting? V tom případě ti tam chybí kontrola velikosti uploadovaného souboru + když ti tam dva lidi nahrajou stejně pojmenovaný soubor, tak se původní přepíše, tohle je tady potřeba řešit.

Jako jo bude to fungovat, ale nasadit to někam na server a zpřístupnit lidem bych se to v současném stavu bál.

prostejov
Příspěvky: 200
Registrován: 17 říj 2011, 13:13
Reputation: 0

Re: php script

#8 Příspěvekod prostejov » 31 pro 2012, 21:13

Ok děkuji, zkusím to dát nějak do kupy :D
http://www.supercraft.cz Servery pro Minecraft,BF3,CS 1.6 a GTA
http://www.nahravej.eu Nový projekt pro upload obrázků

prostejov
Příspěvky: 200
Registrován: 17 říj 2011, 13:13
Reputation: 0

Re: php script

#9 Příspěvekod prostejov » 31 pro 2012, 21:16

ps. ano chci udělat takový hosting kde si budou moct lidé nahrávat obrázky, ovšem problém je vtom, že pokud půjdou 2 soubory se stejným názvem tak se přepíše. a to nevím jak :(
http://www.supercraft.cz Servery pro Minecraft,BF3,CS 1.6 a GTA
http://www.nahravej.eu Nový projekt pro upload obrázků

Uživatelský avatar
Sejsel
Příspěvky: 4131
Registrován: 19 čer 2011, 09:43
Reputation: 0
Bydliště: /home/sejsel/
Kontaktovat uživatele:

Re: php script

#10 Příspěvekod Sejsel » 31 pro 2012, 21:28

01101110011101010110001001110111


Zpět na „Off topic“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti