Autor Zpráva
Nuimi
Profil
Dobry den, mam script ve slozce upload, tam je index.php se scriptem a slozka soubory
a scrip
<html> 
<head>
    <title>Odeslání obrázků na server</title>
  <meta http-equiv="content-type" content="text/html; charset=utf-8"></head> 
<body> 
<div> 
<?php 
$delka = strlen($_FILES['fupload']['name']); 

if ($delka>4) 
{ 
print "název: ". $_FILES['fupload']['name'] ."<br />"; 
print "velikost: ". $_FILES['fupload']['size'] ." bajtů<br />"; 
print "dočasné umístění: ".$_FILES['fupload']['tmp_name'] ."<br />"; 
print "typ: ". $_FILES['fupload']['type'] ."<br />"; 
print "chyba: ". $_FILES['fupload']['error'] ."<br />"; 
if ($_FILES['fupload']['type'] == "image/jpeg") 
{ 
$nazev_souboru = $_FILES['fupload']['tmp_name']; 
$cil = "soubory/".$_FILES['fupload']['name']; 
move_uploaded_file($nazev_souboru, $cil) 
or die ("Přenesený soubor nelze zkopírovat"); 

$size = getImageSize($cil); 
$html_img_str = "<p><img width=\"$size[0]\" height=\"$size[1]\" "; 
$html_img_str .= "src=\"$cil\" alt=\"přenesený obrázek\" /></p>"; 
print $html_img_str; 
} 
} 
?> 
</div> 
<form enctype="multipart/form-data" 
action="<?php print $_SERVER['PHP_SELF']?>" method="post"> 
<p> 
<input type="hidden" name="MAX_FILE_SIZE" value="30999000" /> 
<input type="file" name="fupload" style="width: 700px;"/><br /> 
<input type="submit" value="Odeslat soubor" /> 
</p> 
</form> 
</body> 
</html>
ale nic se neuplouduje
Dan Charousek
Profil
Sice to není vůbec šťastné řešení, ale na localhostu se mi obrázek typu .JPG uploaduje správně.
Nuimi
Profil
tak proč mě to nefunguje :D
Mari94
Profil
Upload *.JPG mi také funguje.
Jsi si jistý že uploaduješ právě JPG.
Pokud ano, píše ti to nějakou chybu? Máš správně nastavené atributy pro složku "soubory" ? :)
Nuimi
Profil
Děkuju za rady, uploada jpg už mi jde teď jsem se to pokoušel předělat na upload pdf, ale nějak mi to nejde nevíte proč
<form action="<?php print $_SERVER['PHP_SELF']?>" enctype="multipart/form-data" method="post">
   Jméno:<br /> <input type="text" name="name" value="" /><br />
   Soubor:<br /> <input type="file" name="classnotes" value="" /><br />
   <p><input type="submit" name="submit" value="Submit Notes" /></p>
</form>

<?php

   if (is_uploaded_file($_FILES['classnotes']['tmp_name'])) 
   {
    if ($_FILES['classnotes']['type'] != "application/pdf") 
    {
      echo ("<script>alert('Je nutný formát pdf.');</script>");
    } 
    else 
    {
      $name = $_POST['name'];
      $result = move_uploaded_file($_FILES['classnotes']['tmp_name'], "soubory/".$_FILES['classnotes']['name']);
      if ($result == 1) 
      {
          echo ("<script>alert('Uploudováno.');</script>");
      }
      else 
      {
          echo ("<script>alert('Neúspěšný upload');</script>");
      }
     }
   }
?>
Fisir
Profil
Reaguji na Nuimiho:
Prohlížeč pravděpodobně neposílá u souborů PDF MIME typ application/pdf, takže budeš muset použít například kontrolu na základě přípony. (Předpokládám, že ti vyskakuje alertJe nutný formát pdf.“)
Dan Charousek
Profil
Fisir:
takže budeš muset použít například kontrolu na základě přípony

To bych nedoporučoval. Kontrola na základě přípony je dost nepřesná. Dokonce ani kontrola podle $_FILES['file']['type'] není úplně to pravý ořechový.

Doporučuji kontrolovat pomocí finfo třídy:

$finfo = new finfo(FILEINFO_MIME_TYPE);
$mime = $finfo->file($tmp_name);
echo "Soubor je typu " . $mime;

Zde by kontrola if($mime == "application/pdf") {...} měla být v pořádku.

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: