Autor Zpráva
perwin
Profil
Ahoj,
vyrobil jsem si script, kde si přihlášený uživatel vybere fotku, nahraje ji na server a zárověň se uloží její jméno do db. Ale našel jsem takový problém:
<?php

    $budemezobrazovat=true;
    if (isset($_FILES['fupload']))
        {



            if (($_FILES['fupload']['type'] == "image/jpeg") or ($_FILES['fupload']['type'] == "image/png") or ($_FILES['fupload']['type'] == "image/gif"))
                {

                    

                    $nazev_souboru = $_FILES['fupload']['tmp_name'];

                    $cil = "fotky/".$_FILES['fupload']['name'];

                    move_uploaded_file($nazev_souboru, $cil)

                    or die ("Přenesený soubor nelze zkopírovat");

                    $size = getImageSize($cil);


                    $budemezobrazovat=true;

                    

                }

            else

                {

                    echo "Neplatné nahrání souboru - soubor asi není typu <b>.jpg</b>";

                }

        }

    if($budemezobrazovat)

        {

            ?>

                <form enctype="multipart/form-data" action="index.php?page=mujucet" method="post">

                    <p>
                        
                        <input type="hidden" name="MAX_FILE_SIZE" value="256000">
                        <h4>Fotka musí být ve formátu <b>.jpg</b>! Požadované rozlišení je 300x350.</h4>
                        <input type="file" name="fupload" style="width: 180px;"><br><input type="text" name="foto" value='<? echo " .$_FILES[tmp_name]. " ?>'> <br> <input type="submit" name="send" value="Nahrát fotku">

                    </p>

                </form>

<?php
ob_start();              
  if(isset($_POST['sent'])){    
    $foto=$_POST['foto'];
require "db.php";
    if($foto==""){ 
      $backlink="index.php?page=mujucet&Alert=1";
    }else{              
        
      $PocetStejnych=mysql_result(mysql_query("SELECT COUNT(*) FROM `uzivatele` WHERE `foto`='$foto'"), 0);
	  if($PocetStejnych!=0){    
        $backlink="index.php?page=mujucet&Alert=2";
      }elseif($heslo1 != $heslo2){    
        $backlink="index.php?page=mujucet&Alert=3";
      }else{           
        $heslo=md5($heslo1); 
        if($web=="http://" or $web==""){ 
          $web="";
        }
        $VlozData=mysql_query("UPDATE uzivatele SET foto='$foto' WHERE jmeno='$_SESSION[login]' ") or die (mysql_error());
     
        $backlink="index.php?Alert=4"; 
      }

    }
  }else{
    $backlink="index.php?page=mujucet";
  }

 header ("Location: $backlink");
ob_end_flush();
?>


            <?php

        }

?>

</fieldset><br><?php } ?>

Potřebuji, aby se jméno souboru nahrálo do value v inputu typu text, protože v input typu file je jiný a script na uložení textu do db s tím nefunguje. A jestě k tomu, když nahrávám tu fotku, tak v input typu file je ten text např: C:/Obrázky/obrazek.jpg, a já nechci aby se mi do db uložilo to C:/Obrázky/obrazek.jpg, ale jenom obrazek.jpg. Poraďte mi prosím. Děkuji
xmark
Profil
<? echo " .$_FILES[tmp_name]. " ?>
?

.. myslím že spíš bys potřeboval pochopit základy.
AM_
Profil
Nějak vůbec nechápu význam, proč do toho value něco cpeš... kromě toho, že to máš blbě zapsané, nevím, proč by se po nahrání souboru v tom inputu měla objevit cesta k dočasnému souboru, do jakého se nahrál na server? to mi nedává žádný smysl. ono tedy tak jaks to napsal to zřejmě do toho inputu vepíše ' .. ' a vypíše chybu o nedefinovaném indexu, ale zřejmě ses tam snažil o to, co jsem popsal výše.
perwin
Profil
No prostě.. mně jde o to vyrobit script, aby se nahrála fotka na ftp, a její název se uložil do db k příslušnému uživateli - k tomu který to nahrává. A protože jsem nevěděl přesně jak na to, tak jsem smíchal to co vim a teď to jen potřebuje doopravit a doladit... proto jsem to dal jsem a prosím vás, aby jste mi to opravili a doladili... snažím si svoje vědomosti o PHP doladit... ale nic nejde moc rychle. Děkuji a prosím vás o rady
AM_
Profil
perwin:
tak jsem smíchal to co vim
smíchals to opravdu dokonale, takový guláš by se mohl rovnou servírovat. O uploadu souborů zřejmě nic moc nevíš, něco si o něm přečti (mimochodem je to první odkaz z google na dotaz "php file upload").
Opravovat ti to tady asi nikdo nebude, tady ti spíš poradí když se dostaneš do nějakých nesnází (a víš jakých, ale nevíš, jak je řešit, a ani to nemůžeš vygooglit), nefunguje to tak, že kdejaký začátečník napíše přibližně kód který by měl dělat cosi a tady si to nechá odborníky dodělat (nebo spíš celé předělat), alespoň ne zadarmo.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: