| Autor | Zpráva | ||
|---|---|---|---|
| Nuimi Profil |
#1 · Zasláno: 10. 11. 2015, 17:27:49
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> |
||
| Dan Charousek Profil |
#2 · Zasláno: 10. 11. 2015, 17:35:10
Sice to není vůbec šťastné řešení, ale na localhostu se mi obrázek typu .JPG uploaduje správně.
|
||
| Nuimi Profil |
#3 · Zasláno: 10. 11. 2015, 20:15:02
tak proč mě to nefunguje :D
|
||
| Mari94 Profil |
#4 · Zasláno: 10. 11. 2015, 23:19:25
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 |
#6 · Zasláno: 11. 11. 2015, 17:22:45
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 alert „Je nutný formát pdf.“)
|
||
| Dan Charousek Profil |
#7 · Zasláno: 12. 11. 2015, 07:54:06
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.
|
||
|
Časová prodleva: 11 let
|
|||
0