Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Elegancki skrypcik :p - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Elegancki skrypcik :p (/thread-elegancki-skrypcik-p)



Elegancki skrypcik :p - dawidirzyk - 24-01-2012

Witam. Przepraszam że się podpisałem pod cudzą własnością intelektualną.
Proszę oto kody Big Grin


index.php
Kod PHP:
<html>
    <
head>
        <
title>Stwórz plakat</title>
        <
script language="javascript" type="text/javascript">
            function 
upload_file() {
                
document.getElementById('initial').style.display 'none';
                
document.getElementById('loading').style.display 'inline';
            }
            function 
upload_file_complete(path) {
                
document.getElementById('initial').style.display 'none';
                
document.getElementById('image').src path;
                
document.getElementById('image').style.display 'inline';
                
document.getElementById('result').style.display 'inline';
            }
            function 
changeimage(target) {
                
document.getElementById('exampleimage').src 'images/' target.value '.png';
            }

       </
script>
    </
head>
    <
body>
        <
div id="container" style="width:1024px;">
            <
div>
                <
h1>Stwórz plakat:</h1>
                <
div style="width:650px;" id="initial">
                    <
form id="upload_form" action="motivational.php" method="post" enctype="multipart/form-data" target="motivational">
                    <
div style="float:left;">
                        <
img src="images/horizontal.png" id="exampleimage">
                    </
div>
                    <
div style="float:right;">
                            <
table>
                                <
tr>
                                    <
td>Adres obrazka:</td><td><input type="file" name="file_upload"></td>
                                </
tr>
                                <
tr>
                                    <
td colspan=2>Wybierz format</td>
                                </
tr>
                                    <
td><input type="radio" name="format" value="horizontal" onclick="changeimage(this)" checked />Standardowy</td><td><input type="radio" name="format" value="vertical" onclick="changeimage(this)" />Szerszy</td>
                                </
tr>
                                <
tr>
                                    <
td>Tytuł:</td><td><input type="text" name="titletext"></td>
                                </
tr>
                                <
tr>
                                    <
td>Tekst motywujący:</td><td><input type="text" name="motivationaltext"></td>
                                </
tr>
                                <
tr>
                                    <
td>Kolor tła:</td><td><input type="text" name="backgroundcolor" value="000000" size=6 MAXLENGTH=6></td>
                                </
tr>
                                <
tr>
                                    <
td>Kolor tekstu::</td><td><input type="text" name="textcolor" value="FFFFFF" size=6 MAXLENGTH=6></td>
                                </
tr>
                            </
table>
                            <
input type="hidden" value="1" name="send_upload"/> 
                            <
input type="submit" value="Generuj!">
                        </
div>
                        </
form>
                    </
div>
                <
div style="width:600px;display:none;" id="result">
                    <
img src="images/t.gif" id="image" />
                </
div>
                <
iframe id="motivational" name="motivational" src="" style="width:0;height:0;border:0px solid #fff;">
                </
iframe
            </
div>
        </
div>
    </
body>
</
html

motivational.php

Kod PHP:
<?php

include 'functions.php';

// Variables
$textcolor            $_POST['textcolor'];
$titletext            $_POST['titletext'];
$motivationaltext    $_POST['motivationaltext'];
$backgroundcolor    $_POST['backgroundcolor'];
$format                $_POST['format'];
$allowed_ext        "jpg, gif, png, jpeg, JPG";
$top                50;                                        
$filename            $_FILES['file_upload']['name'];

// Validation
if(!checkRGB($textcolor))
    goto 
SkipToEnd;

if(!
checkRGB($backgroundcolor))
    goto 
SkipToEnd;

/*if(!checkText($titletext))
    goto SkipToEndTwice;

if(!checkText($motivationaltext))
    goto SkipToEndTwice;*/

if($format == 'horizontal'){

        
//Dimensions of the finished image
        
$width 750;
        
$height 650;

        
//Dimensions of the uploaded image
        
$imgx 600;
        
$imgy 450;

    }else{ 
// Vertical

        //Dimensions of the finished image
        
$imgx 600;
        
$imgy 550;

        
//Dimensions of the uploaded image
        
$width 650;
        
$height 750;
    }

// Is the extension allowed?
$extension checkext($filename$allowed_ext);

if (
$extension != False
    {
        
// Move the temporary file to the image folder
        
$save_to="images/";
        if (
$_POST['send_upload']==1
            {
                
$file_name=$_FILES['file_upload']['name'];
                
move_uploaded_file($_FILES['file_upload']['tmp_name'], $save_to.basename($file_name)) or die('Cannot upload image');
                
$filepath $save_to.basename($file_name);
            }

        
// Create an image resource from the uploaded image
        
if($extension == "jpg" || $extension == "jpeg" || $extension == "JPG"){
          
$source=imagecreatefromjpeg($filepath);
        }elseif(
$extension == "png") {
          
$source=imagecreatefrompng($filepath);
        }elseif(
$extension == "gif") {
          
$source=imagecreatefromgif($filepath);
        } 
        
        
// Resize the image resource
        
$width_orig imagesx$source );                                                                    // width of image resource
        
$height_orig imagesy$source );                                                                    // height of image resource
        
$uploadedimage imagecreatetruecolor($imgx$imgy);                                                // Create space for the resized image
        
imagecopyresampled($uploadedimage$source0000$imgx$imgy$width_orig$height_orig);    // Resize the image to the correct dimensions. Outputs to $uploadedimage.

        //Save the resized image
        
if($extension == "jpg" || $extension == "jpeg" || $extension == "JPG"){
            
imagejpeg($uploadedimage$filepath100);
        }elseif(
$extension == "png") {
            
imagepng($uploadedimage$filepath);
        }elseif(
$extension == "gif") {
          
imagegif($uploadedimage$filepath);
        } 

        
// Create the background image
        
$im = @imagecreatetruecolor($width$height) or die('Cannot Initialize new GD image stream');

        
// Allocate colors
        
$textcolor    rgb2array($_POST['textcolor']);
        
$text_color imagecolorallocate($im$textcolor[0], $textcolor[1], $textcolor[2]); 
        
$bordercolors imagecolorallocate($im$textcolor[0], $textcolor[1], $textcolor[2]); 
        
$backgroundcolor rgb2array($backgroundcolor);
        
$backgroundcolor imagecolorallocate($im$backgroundcolor[0], $backgroundcolor[1], $backgroundcolor[2]); 
        
$watermark_color imagecolorallocate($im2331491);

        
// Fill Im with the background color.
        
imagefill ($im00$backgroundcolor);

        
// Draw a border on the background image
        
$size getimagesize($filepath);  
        
$x = ($width 2) - ($size[0] / ) - 2;
        
$y $top 2;
        
$w $imgx 2;
        
$h $imgy 2;
        
imageline($im$x,$y,$x,$y+$h,$bordercolors);
        
imageline($im$x,$y,$x+$w,$y,$bordercolors);
        
imageline($im$x+$w,$y,$x+$w,$y+$h,$bordercolors);
        
imageline($im$x,$y+$h,$x+$w,$y+$h,$bordercolors);

        
// Merge the original image resource with the background image resource
        
imagecopy($im$uploadedimage$x 2$top00$size[0], $size[1]);

        
// Write out the text
        
CenterImageString($im$widthstrtoupper($titletext), 40, ($top $imgy 50), $text_color);
        
CenterImageString($im$width$motivationaltext16, ($top $imgy 74), $text_color);
    
        
// Watermark. Be a sport and dont remove this.
        
ImageString($im2$width-160$height-15"www.letsgeek.com/motivator"$watermark_color);
        
        
//Print and clean stuff
        
imagepng($im"posters/" md5(mktime()) . $filename );
        
imagedestroy($im);
        
imagedestroy($uploadedimage);
        
imagedestroy($source);
    }

$filename "posters/" md5(mktime()) . $filename;
echo 
'
<html>
    <body>
        <script language="javascript" type="text/javascript">
            var path = "'
.$filename.'";
            window.parent.upload_file_complete(path);
        </script>
    <body>
<html>'
;
die();

/* ERROR HANDLING RGB */
SkipToEnd:
echo 
'
<html>
    <body>
        <script language="javascript" type="text/javascript">
            alert("Podaj wartość RGB");
        </script>
    <body>
<html>'
;
die();

/* ERROR HANDLING TEXT */
SkipToEndTwice:
echo 
'
<html>
    <body>
        <script language="javascript" type="text/javascript">
            alert("'
.$titletext.'");
        </script>
    <body>
<html>'
;
?>

functions.php

Kod PHP:
<?php

//Fix rbg colors
function rgb2array($rgb) {
    
    return array(
        
base_convert(substr($rgb02), 1610),
        
base_convert(substr($rgb22), 1610),
        
base_convert(substr($rgb42), 1610),
    );
}

//Center image
function CenterImageString($image$image_width$string$font_size$y$color)
 {
    
$text_width imagefontwidth($font_size)*strlen($string);
    
$center ceil($image_width 2);
    
$x $center - (ceil($text_width/2));

    
### Get exact dimensions of text string
    
$box = @imageTTFBbox($font_size,0'arial.ttf'$string);
    
### Get width of text from dimensions
    
$textwidth abs($box[4] - $box[0]);
    
### Get x-coordinate of centered text horizontally using length of the image and length of the text
    
$xcord = ($image_width/2)-($textwidth/2)-2;


    
imagettftext($image$font_size0$xcord$y$color'arial.ttf'$string);
 }

function 
checkext($image$allowed_ext)
    {
    
$allowed_ext explode(", "$allowed_ext);
    
$info pathinfo($image); 
    
$extension $info['extension'];
    
$ext False;

    for(
$i 0$i count($allowed_ext); $i++) 
        {    
        if (
$allowed_ext[$i] == $extension) {
          
$ext $allowed_ext[$i]; }
        }
    return 
$ext;
    }

function 
resize($source$imgx$imgy)
    {
        
$width_orig imagesx$source );                                                                    // width of original image
        
$height_orig imagesy$source );                                                                    // height of original image
        
$uploadedimage imagecreatetruecolor($imgx$imgy);                                                // Create space for the resized image
        
imagecopyresampled($uploadedimage$source0000$imgx$imgy$width_orig$height_orig);    // Resize the image to the correct dimensions. Outputs to $uploadedimage.
        
return $uploadedimage;
    }

function 
checkRGB($input) {
    if(
preg_match('/^[a-fA-F0-9]{6}$/'$input)) //Is it valid?
            
Return true;
        Return 
false;
}
?>

uploadscript.php

Kod PHP:
<?php 

//Upload image
$save_to="images";
if (
$_POST['send_upload']==1) {
    
$file_name=$_FILES['file_upload']['name'];
    
move_uploaded_file($_FILES['file_upload']['tmp_name'], $save_to."/".basename($file_name)) or die('FEL');
    
$filepath $save_to."/".basename($file_name);
    }

if(
$_POST['format'] == "horizontal"){
    
$format "horizontal";
    
$width 600;
    
$height 450;
}else{
    
$format "vertical";
    
$width 600;
    
$height 550;
}

?>
<script language="javascript" type="text/javascript">
var path = "<?php echo $filepath?>";
var format = "<?php echo $format?>";
var width = "<?php echo $width?>";
var height = "<?php echo $height?>";
window.top.upload_file_complete();
window.parent.document.getElementById('exampleimage').src = path;
window.parent.document.getElementById('exampleimage').width = width;
window.parent.document.getElementById('exampleimage').height = height;
window.parent.document.getElementById('image').value = path;
window.parent.document.getElementById('format').value = format;
</script>'; 


Ale jest mały problem otóż chciałbym żeby kod z index.php został dodany do bazy dancyh. Chodzi mi o ten kod:
Kod PHP:
<img src="images/t.gif" id="image" /> 

Mam także skrypt dodawania obrazków do bazy dancyh ale z uploadu :/ znaleziony na wsieci.org.pl

Zmieszczam kod:
Struktura tabeli pliki
Kod PHP:
CREATE TABLE pliki (
  
id int(5NOT NULL auto_increment,
  
typ varchar(30NOT NULL,
  
rozmiar int(11NOT NULL,
  
nazwa varchar(200NOT NULL,
  
dane mediumblob NOT NULL,
  
PRIMARY KEY  (id)
); 

struktura formularza

Kod PHP:
<form method="POST" enctype="multipart/form-data" action="upload.php">
    <
input type="hidden" name="ok" value="1">
    <
input type="hidden" name="MAX_FILE_SIZE" value="665600">

    <
input type="file" name="plik" size="40" />
    <
input e="submit" value="Uploaduj" />
</
form

upload.php
Kod PHP:
<?php $user      "root";
$password  "";
$host      "localhost";
$db        "nazwa_bazy";
$link = @mysql_connect($host$user$password);
if (!
$link) die ("

Nie mozna sie polaczyc z serwerem MySQL!
"
);
@
mysql_select_db($db$link) or die ("

Nie mozna sie polaczyc z baza!
Spróbuj za chwilę! PRZEPRASZAMY
"
);

$katalog "pliki/";
if(
$HTTP_POST_VARS['ok'] == 1){
    if(
$HTTP_POST_FILES['plik']['size'] < 665600 || $HTTP_POST_FILES['plik']['size'] != 0){
        if(
is_uploaded_file($HTTP_POST_FILES['plik']['tmp_name']) || !isset($HTTP_POST_FILES['plik'])){
            
$HTTP_POST_FILES['plik']['name'] = strtolower($HTTP_POST_FILES['plik']['name']);
            
$HTTP_POST_FILES['plik']['name'] = str_replace(" ""_"$HTTP_POST_FILES['plik']['name']);

            
copy($HTTP_POST_FILES['plik']['tmp_name'], $katalog.$HTTP_POST_FILES['plik']['name']);
            
$adres_pliku $katalog.$HTTP_POST_FILES['plik']['name'];

            
$uchwyt fopen($adres_pliku"r");
            
$tresc fread($uchwytfilesize($adres_pliku));
            
fclose($uchwyt);
            
unlink($adres_pliku);

            
$tresc addslashes($tresc);

            
$wielkosc $HTTP_POST_FILES['plik']['size'];
            
$n_pliku $HTTP_POST_FILES['plik']['name'];
            
$typ $HTTP_POST_FILES['plik']['type'];

            
$query"INSERT INTO zalacznik(id,typ,rozmiar,nazwa,dane) VALUES('$typ','$wielkosc','$n_pliku','$tresc')";
            
mysql_query($query$link);
        }
        else{
            echo = 
"Błąd";
        }
    }
    else{
        echo = 
"Błąd";
        }
}
mysql_close($link);
?>

wyświetl.php

Kod PHP:
<?php
if(isset($_GET['id']))
{
    
//tu połącz się z bazą danych

    
$id    $_GET['id'];
    
$zapytanie "SELECT typ, rozmiar, nazwa, dane FROM pliki WHERE id = '$id'";
    
$wynik mysql_query($zapytanie);
    
$plik mysql_fetch_array($wynik);

    
header("Content-length: $plik[rozmiar]");
    
header("Content-type: $plik[typ]");
    
header("Content-Disposition: attachment; filename=$plik[nazwa]");
    echo 
$plik[dane];

    
//w tym miejscu rozłącz się z bazą danych

    
exit();
}
?>

I odnosząc się do powyższego tematu chcę aby ten kod
Kod PHP:
<img src="images/t.gif" id="image" /> 
a nie plik z formularza został umieszczony do bazy danych. Bo mi generuje się obrazek z MD 5 kodowaniem i demo znajdziecie na http://irzykpol.cba.pl/plakat i jak stworzycie obrazek to wygeneruje wam się obrazek i ten wyświetlony obrazek ma się dodać do bazy danych. Dzięki wielkie za pomoc. Trochę się rozpisałem :p


RE: Elegancki skrypcik :p - KowR - 24-01-2012

Ten drugi skrypt w całości znajduje się na: http://wsieci1.webd.pl/art71-upload_plikow_do_bazy_mysql.phtml
Więc po co kopiować? Nie lepiej podać sam link?

Co do skryptu demotywatorów to tutaj masz wszystkie pliki i cały kod: http://www.letsgeek.com/code/motivational-poster-generator-script/

Wcześniej na tym forum prosiłeś o pomoc w jego PRZEROBIENIU! Więc pisanie:
Cytat:Stworzyłem fajny kod a mianowicie skrypt demotywatorów. Na pewno większość z niego skorzysta. Postanowiłem że umieszczę kod.
jest nie na miejscu, gdyż nie jesteś jego autorem...

Edit:
Przed google nie ukryjesz cudzego i swojego kodu. Wink

Edit 2:
Poleciał warn za plagiat Wink Nie lubimy tutaj ludzi podpisujących się pod nie swoimi pracami.


RE: Elegancki skrypcik :p - hieroshima - 24-01-2012

po 26 stycznia odetną Ci za to neta i pójdziesz do więzienia Smile


RE: Elegancki skrypcik :p - Pedro84 - 26-01-2012

@KowR - To raczej nędzna próba kontynuowania tematu, który już został wyczerpany. Kolega pomoc dostał ode mnie, ale On pomocy nie chce, tylko jelenia, który mu to zrobi.


RE: Elegancki skrypcik :p - dawidirzyk - 27-01-2012

Sory że podpisałem to pod siebie. Ale Pedro84 naprawdę masz racje nie szukam "jelenia" ale pomocy bo to o co proszę to nie wiem jak dodawać. Moje umiejętności PHP nie są na tyle dobre by coś takiego ogarnąć.