Autor Zpráva
Ghosting
Profil
Zdravím,
nejsem zrovna zběhlý v php, potřeboval bych tedy poradit.

Mám tento klasicky html kod pro upload.
<form action='upload.php' method='get' enctype='multipart/form-data'>
<input type='file' name='uploadfile' size='30' />
<input type='submit' name='upload' value='upload' />
</form>


a kod upload.php
<?php

// Toto je dočasný soubor vytvořený v PHP
$uploadedfile = $_FILES['uploadfile']['tmp_name'];

// Vytvoření obrazu
$src = imagecreatefromjpeg($uploadedfile);
list($width,$height)=getimagesize($uploadedfile);

// Zmenšení obrázku na 600px na šířku
$newwidth=600;
$newheight=($height/$width)*600;
$tmp=imagecreatetruecolor($newwidth,$newheight);

imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$heig  ht);


$filename = "upload/jmeno-uzivatele". $_FILES['uploadfile']['name']; // Slozka pro upload. 
imagejpeg($tmp,$filename,100);

imagedestroy($src);
imagedestroy($tmp); // Vyčištění dočasného souboru
?> 


chtel bych tyto dva kody slozit do jedineho souboru, poslat je metodou post.
Poradil by mi nekdo prosim?¨Diky.
yFang
Profil
Myslíš jako takhle?
<?php

// Toto je dočasný soubor vytvořený v PHP
$uploadedfile = $_FILES['uploadfile']['tmp_name'];

// Vytvoření obrazu
$src = imagecreatefromjpeg($uploadedfile);
list($width,$height)=getimagesize($uploadedfile);

// Zmenšení obrázku na 600px na šířku
$newwidth=600;
$newheight=($height/$width)*600;
$tmp=imagecreatetruecolor($newwidth,$newheight);

imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$heig  ht);


$filename = "upload/jmeno-uzivatele". $_FILES['uploadfile']['name']; // Slozka pro upload. 
imagejpeg($tmp,$filename,100);

imagedestroy($src);
imagedestroy($tmp); // Vyčištění dočasného souboru
?> 
<html>
<head>
<title>Upload souborů</title>
</head>
<body>
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='get' enctype='multipart/form-data'>
<input type='file' name='uploadfile' size='30' />
<input type='submit' name='upload' value='upload' />
</form>
</body>
</html>
Ghosting
Profil
Neco na tento styl :)
taky jsem to zkousel, ale vyjede chyba

Parse error: syntax error, unexpected T_STRING in /home/httpd/*****/temp/index.php on line 15

na lajně 15 je tento kod: imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$heig ht);
wrestler
Profil
vidím dobře mezeru v proměnné $height?
Ghosting
Profil
wrestler
N jo bajooooo :) uplne jsem ji prehlidl, mezeru jsem odstranil, ale objevily se dalsi chyby

Warning: Division by zero in /home/httpd/****/temp/index.php on line 13

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/httpd/****/temp/index.php on line 14

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/httpd/****/temp/index.php on line 16

Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/httpd/****/temp/index.php on line 20

Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/httpd/****/temp/index.php on line 22

Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/httpd/****/temp/index.php on line 23
yFang
Profil
Ghosting
No tak si je oprav, v čem je problém? Máš jasně napsané co se stalo.
Ghosting
Profil
yFang
v čem je problém?
V tom že php zas tak dobře neovládám, nevím co ty chyby znamenají tka se ptám. Kdybych to věděl taks i je opravím.
king26
Profil
před zpracování formuláře (tj. pred $uploadedfile = $_FILES['uploadfile']['tmp_name']; ) dej podmínku:
if(isset($_POST['upload']))


celý kód potom bude vypadat takto:
<?php
if(isset($_POST['upload'])) {
// Toto je dočasný soubor vytvořený v PHP
$uploadedfile = $_FILES['uploadfile']['tmp_name'];

// Vytvoření obrazu
$src = imagecreatefromjpeg($uploadedfile);
list($width,$height)=getimagesize($uploadedfile);

// Zmenšení obrázku na 600px na šířku
$newwidth=600;
$newheight=($height/$width)*600;
$tmp=imagecreatetruecolor($newwidth,$newheight);

imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$heig    ht);


$filename = "upload/jmeno-uzivatele". $_FILES['uploadfile']['name']; // Slozka pro upload. 
imagejpeg($tmp,$filename,100);

imagedestroy($src);
imagedestroy($tmp); // Vyčištění dočasného souboru
}
?> 
<html>
<head>
<title>Upload souborů</title>
</head>
<body>
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='get' enctype='multipart/form-data'>
<input type='file' name='uploadfile' size='30' />
<input type='submit' name='upload' value='upload' />
</form>
</body>
</html>
Zamezí to dělání obrázku, pokud není odeslán formulář.
Ghosting
Profil
king26
Děkuji mnohokrát :)

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0