Autor Zpráva
TomBiker
Profil *
Najde se zde nekdo kdo mi pomuze s php? vytvarim neco jako inzertni system na jedne sstrance napisete text (do db) a na 2, strance se objevi... zkratka jako inzerce na ineternetu, jen nevim jak to sami udelat s fotkama- zkratka zacnu psat prvni TOPIC (inzerce) treba BLA BLA a se stejnym ID budu chtit pripojit foto, ve finale se to ukaze na 2, strance jako TOPIC fotka s nahledem a vedle toho BLA BLA, nasel by se tu nekdo kdo by mi s tim helpnul?:)
predem dik!
Madenio
Profil
No to je pomerne jednoduche, pri vkladani inzeratu zrejme chces mat moznost pripojit aj fotografiu, po odoslani sa ti fotka uploaduje a predtym nez ju definitivne ulozis na konkretne miesto si ju upravis ako potrebujes (najlepsie vytvorit aj thumbnail hned) ulozis si tu fotku s nazvom ako ID insertu do DB (ID toho clanku, ktory si dal do DB) a podla toho uz budes oznacenie fotky spajat s ID riadku v selecte ked ich budes vypisovat na stranku.
Ide hlavne o file prikazy, ktore budes musiet pouzit, pripadne nieco z GD
TomBiker
Profil *
no obecne receno, tak bych to dokazal taky napsat...jde me o to jestli by se tu nekdo nasel kterej by mi s tim pohohl do detailu jak to zprovoznit ne ze tu napise obecnosti a teoreticke veci jak by to zhruba melo byt
dik
Petr Tichý
Profil
Ne, nikdo ti to nenapíše.
Madenio
Profil
Pozri toto tu nie je kniznica hotovych kodov na pockanie. Clovek ti tu moze poradit a usmernit ta, pripadne ti pomoct s chybami a optimalizaciou, ale sam si to musis uz prekusat.
Ked si to spravis sam, ziskas skusenosti a budes mat lepsi pocit.

Pokial to chces na striebornom podnose tak podla hodinovej sadzby kazdeho programatora na tomto fore.
tio
Profil *
//PRVY OBRAZOK
if(isset($action)):
// formular bol odoslany
if(trim($HTTP_POST_FILES['binFile1']['name'])<>""){
//ak uzivatel nieco vlozil, vykonam kontrolu
if($HTTP_POST_FILES['binFile1']['size']==0):
// vybraný subor musi mat nejaku velkost
$chyba="Foto1:vybraný subor má nulovu velkost alebo je formátu BMP";
echo "$form";
require "$require";
require "foot.php";
die();
elseif($HTTP_POST_FILES['binFile1']['size']>500000):
// subor nesmie byt vacsi nez 500 000 bytov (POZOR!, element MAX_FILE_SIZE formulara je lahko obist)
$chyba="Foto1:súbor je prílią velký - maxim. veµkos» nesmie prekročit 500 000 bytov";
echo "$form";
require "$require";
require "foot.php";
die();
elseif(!is_uploaded_file($HTTP_POST_FILES['binFile1']['tmp_name'])):
// skontroluje, ci spracovavany subor neni podhodeny (potencialny útočník moze zmiest skript napr. tím, ze za nahrávaný subor bude vydávat subor uz umiestnený na serveri)
$chyba="Foto1:prístup odmietnutý";
echo "$form";
require "$require";
require "foot.php";
die();
endif;
// vybraný subor zatial splňuje pozadovane kritéria
$typ1=strrchr($HTTP_POST_FILES['binFile1']['name'], ".");
// z mena suboru zistím jeho formát
if($typ1!=".jpg" && $typ1!=".png"):
// mozem nahrat iba subory *.jpg alebo *.png
$chyba="Foto1:pouľite len formát JPEG(JPG)/PNG, prípona má by» nízka (*.jpg/png)";
echo "$form";
require "$require";
require "foot.php";
die();
else:
if($typ1==".jpg"):
// subor je vo formáte *.jpg
$typ_file1="image/jpeg";
// do tabulky subor ulozím ako image/jpeg
$im=imagecreatefromjpeg($HTTP_POST_FILES['binFile1']['tmp_name']);
// pomocou funkcie imagecreatefromjpeg() z kniznice php_gd.dll získám identifikátor obrázku $im
if(imagesx($im)<320 || imagesy($im)<240):
$chyba="Foto1:obrázok je prílią malý - jeho rozlíąenie nesmie by» menąie ako 320x240 pixelov";
echo "$form";
require "$require";
require "foot.php";
die();
else:
// hodnoty udávajúce skutočnu ąířku a výąku obrázku zistené pomocou funkcie imagesx() a imagesy() načitam do premenných $width a $height, ktoré uloľím do príslusných polí tabulky
$width=imagesx($im);
$height=imagesy($im);
endif;
imagedestroy($im);
// uvolním pamet rezervovanu pre obrázok
else:
// subor je formátu *.png, následující príkazy su obdobné ako u obrázku formátu *.jpg, len s tím rozdielom, ze do tabulky subor ulozím ako image/png
$typ_file1="image/png";
$im=imagecreatefrompng($HTTP_POST_FILES['binFile1']['tmp_name']);
if(imagesx($im)<320 || imagesy($im)<240):
$chyba="Foto1:obrázok je prílią malý - nesmie by» menąí ako 320x240 pixelov";
echo "$form";
require "$require";
require "foot.php";
die();
else:
$width=imagesx($im);
$height=imagesy($im);
endif;
imagedestroy($im);
endif;
// poslaný subor splňuje vsetky pozadovane kritéria a moze sa nahrat do tabulky
$binFile1=str_replace(";", "", $HTTP_POST_FILES['binFile1']['tmp_name']);
// v tomto prípade paranoidne bezpečnostne opatreníe - odstraním vsetky mozné výskyty ; z nahrávaného suboru
$obrazok1 = addslashes(fread(fopen($binFile1, "r"), filesize($binFile1)));
// subor načitam ako binární text
endif;
}
endif;

$sql = mysql_query("INSERT INTO tabulka(foto1,typ1,nazov1,dalsiavec) VALUES('$obrazok1','$typ_file1','".$_FILES['binFile1']['name']."','$da lsiavec')");

if($sql){

echo "<span class='styl6'>Z&aacute;znam bol &uacute;spe&scaron;ne pridan&yacute;!</span></div>";

} else {

echo "<span class='styl7'>Z&aacute;znam nebol pridan&yacute;! Vyskytla sa chyba, kontaktujte admina!</span></div>";

}
tio
Profil *
$chyba="Hlaska"; // tu premennu mam vo formulary
echo "$form"; //toto je zaciatok formu.....lebo telo som pouzival aj inde
require "$require"; //toto je samotny formular......$require ma hodnotu podla vybranej kategorie, vyssie to mam zaifovane
require "foot.php"; //vlozi paticku stranky
die();
tio
Profil *
dufam ze pomoze.......inac je to z Intervalu, trochu som si upravil tie if.
tio
Profil *
a este.... foto1 je v mysql typu BLOB

vypis je jednoduchy:

<?php
require_once("connect.php");
//výpis danej množiny prvkov
$query="SELECT foto1,typ1,nazov1 FROM tabulka WHERE id=$id";
$result=mysql_query($query) or die ("spojenie s databázou bolo neúspešné");
$row = mysql_fetch_assoc ($result);
$typ1=$row["typ1"];
//$nazov1=$row["nazov1"];

header("Content-Type: $typ1");
//header("Content-Disposition: attachement; filename=$nazov1");
header("Content-Description: PHP Generated Data");

echo $row["foto1"];

?>

potom uz len spravis:

<img src="obrazok.php?id=$id" /> a mas to na stranke.
Davex
Profil
tio
require "$require";
Jako dělané pro script injection.
tio
Profil *
require "$require";
Jako dělané pro script injection.



mam to hore za ifovane pevny obsah.....cize ked nieco dopise do adresy aj tak sa to v ptribehu vykonavania scriptu zmeni na niektory mno zadany obsah, a kto vie ze tam je taka premenna?

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: