php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.03.2011, 08:12  
Neuer Benutzer
 
Registriert seit: 11.02.2010
Beiträge: 28
PHP-Kenntnisse:
Anfänger
suicidus befindet sich auf einem aufstrebenden Ast
Standard Verkleiner mit GDLib/Variablen-Problem

Moin, ich versuche seit gestern ein JPG hochzuladen und per GDLib zu verkleinern und speichern. Klappt soweit auch alles. Allerdings nur wenn ich den direkten Pfad zum Bild angebe. Lass ich es über die gewünschte Variable laufen, passiert nix.

PHP-Code:
$userverz "./pics";
if(
$_POST['sent'])
{
$name23=uniqid('uploads_'); // Bild umbenennen
if($_FILES[image][size]>$maxxx)
{
$fehler ="<br>File is too big...<br>";}
if(!(
$_FILES[image][type] == 'image/jpeg' OR $_FILES[image][type] == 'image/gif'))
{
$fehler.="<br>Wrong Type<br>"; }
if(!(
$HTTP_POST_VARS['agb']=="ok"))
{
$fehler.="You must accept the rules!!<br>"; }
if(!
$fehler)
{
switch(
$_FILES[image][type])
{
case 
'image/jpeg';
$name "$name23.jpg";
break;
case 
'image/gif';
$name "$name23.gif";
break;
}
$name $userverz."/".$name;

//---Hier wird nur verkleinert, wenn ich $filename direkt angebe... WARUM?

$filename "pics/uploads_4d71d14d25851.jpg";
$percent 0.5;

// Get new sizes
list($width$height) = getimagesize($filename);
$newwidth $width $percent;
$newheight $height $percent;

// Load
$thumb imagecreatetruecolor($newwidth$newheight);
$source imagecreatefromjpeg($filename);

// Resize
imagecopyresized($thumb$source0000$newwidth$newheight$width$height);

// Output
imagejpeg($thumb,"a.jpg"); 
Das bringt mich noch zur verzweiflung. Weiss mir da einer zu helfen?
suicidus ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.03.2011, 08:47  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Lass dir bei //Load
mal den mit Variablen erstellten Dateinamen ausgeben und entferne mal das ./ bei $userverz, das steht an der anderen Stelle auch nicht da.
ChrisvA ist offline   Mit Zitat antworten
Alt 05.03.2011, 08:55  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

realpath() auf dein $userverz und du hast dein relativen Pfad.. oder false falls PHP das dir net findet.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 05.03.2011, 09:07  
Neuer Benutzer
 
Registriert seit: 11.02.2010
Beiträge: 28
PHP-Kenntnisse:
Anfänger
suicidus befindet sich auf einem aufstrebenden Ast
Standard

Versteh ich grad alles nicht mehr so recht

Also $name beinhaltet

"pics/uploads_4d71ef0d67399.jpg"

Also der Dateiname ändert sich je nach upload


EDIT: Aber selbst wenn ich das so änder, erstellt er null Datei. Nur wenn ich es wie im 1. Beispiel oben lasse

$filename = "www.meinedomain.de/upload/$name";
$percent = 0.5;

Obwohl der Pfad so absolut korrekt wiedergegeben wird.

Geändert von suicidus (05.03.2011 um 09:15 Uhr).
suicidus ist offline   Mit Zitat antworten
Alt 05.03.2011, 09:39  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Dein letzter Edit macht keinen Sinn, ich denke, dass du nicht in das Verzeichnis www.meinedomain.de schreiben möchtest, das würde nur ein wenige Sinn machen, wenn du http:// davor setzt, aber auch das ist grundsätzlich falsch, da du ja über http:// keine Schreibrechte auf dem Server hast.
Der absolute Pfad muss mit / anfangen, z.B. /usr/var/www/

Kannst du nochmal das komplette Skript posten, dass versucht die Variable in den Dateinamen einzutragen, ich vermute da einen ganz doofen kleinen Fehler.
ChrisvA ist offline   Mit Zitat antworten
Alt 05.03.2011, 09:50  
Neuer Benutzer
 
Registriert seit: 11.02.2010
Beiträge: 28
PHP-Kenntnisse:
Anfänger
suicidus befindet sich auf einem aufstrebenden Ast
Standard

Hier mal das komplette Teil. Da ist noch der alte Code für das Bilder-Verkleinern drin, welcher aber nicht funktioniert.

PHP-Code:
<!--
var win=null;
function NewWindow(mypage,myname,w,h,pos,infocus){
if(pos=="random"){myleft=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;mytop=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){myleft=(screen.width)?(screen.width-w)/2:100;mytop=(screen.height)?(screen.height-h)/2:100;}
else if((pos!='center' && pos!="random") || pos==null){myleft=0;mytop=20}
settings="width=" + w + ",height=" + h + ",top=" + mytop + ",left=" + myleft + ",scrollbars=no,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no";win=window.open(mypage,myname,settings);
win.focus();}
// -->
</script>


<?
require("./inc/config.inc.php");
echo<<<EOT
<img src="./images/image.png" align="absmiddle">&nbsp;<b>Image Upload</b><br>
<br><font size="-1">Upload an Image (max. $maxxx kb - Allowed: *jpg *gif)</font>
<form action="?p=1&act=1_up" method="POST" enctype="multipart/form-data" id="form" method="post" onsubmit="a=document.getElementById('form').style;a.display='none';b=document.getElementById('part2').style;b.display='inline';" style="display: inline;">
<input type="file" name="image" size="45">
<input  type="submit" name="sent" class="input" value="&nbsp;Upload!&nbsp;"><br>
<input type=checkbox name='agb' value="ok"><font size="-1"><a href="javascript:NewWindow('agb.php','mypopup','450','500','custom','front');">AGBs</a> accepted?!?</font></form><br>
<br><script src='http://www.ads4webbis.de/codes/random_bannerview.php?id=947&aid=2352&trackid='></script>
<div id="part2" style="display: none;">
<script language="javascript" src="./js/xp_progress.js"></script>
Bild wird hochgeladen. Bitte warten...
<BR><BR>
<script type="text/javascript">
var bar1= createBar(300,15,'white',1,'black','blue',85,7,3,"");</script>
</div>    
<br><br>
EOT;


$userverz "./pics";
if(
$_POST['sent'])
{
$name23=uniqid('uploads_'); // Bild umbenennen
if($_FILES[image][size]>$maxxx)
{
$fehler ="<br>File is too big...<br>";}
if(!(
$_FILES[image][type] == 'image/jpeg' OR $_FILES[image][type] == 'image/gif'))
{
$fehler.="<br>Wrong Type<br>"; }
if(!(
$HTTP_POST_VARS['agb']=="ok"))
{
$fehler.="You must accept the rules!!<br>"; }
if(!
$fehler)
{
switch(
$_FILES[image][type])
{
case 
'image/jpeg';
$name "$name23.jpg";
break;
case 
'image/gif';
$name "$name23.gif";
break;
}
$name $userverz."/".$name;



$filename "pics/uploads_4d71f64d7df09.jpg";
$percent 0.5;

// Get new sizes
list($width$height) = getimagesize($filename);
$newwidth $width $percent;
$newheight $height $percent;

// Load
$thumb imagecreatetruecolor($newwidth$newheight);
$source imagecreatefromjpeg($filename);

// Resize
imagecopyresized($thumb$source0000$newwidth$newheight$width$height);

// Output
imagejpeg($thumb,"a.jpg");



//------------------------------ HTML SEITE  ERSTELLEN ---------------------------
copy($_FILES[image][tmp_name], $name);
$dateihandle fopen("$name.html","w");
fwrite($dateihandle"

<title>$name_der_Seite</title>
<style type=\"text/css\">
<!--
a:link {color: #708090; text-decoration: None; font-family:Verdana; font-size:12px;}
a:visited {color: #708090; text-decoration: None; font-family:Verdana; font-size:12px;}
a:active {color: #708090; text-decoration: None;  font-family:Verdana; font-size:12px;}
a:hover {color: #0000CC; text-decoration: None;  font-family:Verdana; font-size:12px;}
-->  
</style>
<script type=\"text/javascript\" src=\"http://view.advert-layer.de/ad1_1568.js\"></script>
<Body leftmargin=\"0\" topmargin=\"0\"  marginheight=\"0\" marginwidth=\"0\">

<TABLE ID=\"Tabelle13\" BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=\"100%\">
    <TR HEIGHT=1>
        <TD ALIGN=CENTER>
            <P><FONT FACE=\"Arial,Helvetica,Geneva,Sans-serif,sans-serif\">
            <a href=\"www.best-ptc.de/upload/\"><IMG  SRC=\"http://www.best-ptc.de/upload/images/logo2.png\" VSPACE=0 HSPACE=0 ALIGN=\"TOP\" BORDER=0 ALT=\"best-ptc.de Picture Upload\" TITLE=\"best-ptc.de Picture Upload\"></a></FONT></TD>
    </TR>
</TABLE>

<center><br><img src='$scriptsource/$name' border=0><br><br>
<font color=\"#A0A0A0\" FACE=\"Verdana\" size=\"-1\">&copy;2008 $copyright</font><br>
</center>






"
);





fclose($dateihandle);
//------------------------------ THIMBNAIL ERSTELLEN ---------------------------

$bildname str_replace("./pics/","$name");
$PicPathIn="$userverz/";
$PicPathOut="$userverz/pics/";
// Orginalbild
$bild="$bildname";
// Bilddaten ermitteln
$sizeGetImageSize("$PicPathIn"."$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=50;
$neueHoeheintval($hoehe*$neueBreite/$breite);
if(
$size[2]==1) {
// GIF
$altesBildimagecreatefromgif("$PicPathIn"."$bild");
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
  
imagecopyresampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
 
imageGIF($neuesBild,"$PicPathOut"."thumb_"."$bild");
}
if(
$size[2]==2) {
// JPG
$altesBildImageCreateFromJPEG("$PicPathIn"."$bild");
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
  
imagecopyresampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
 
ImageJPEG($neuesBild,"$PicPathOut"."thumb_"."$bild");
}
if(
$size[2]==3) {
// PNG
$altesBildImageCreateFromPNG("$PicPathIn"."$bild");
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
 
imagecopyresampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
 
ImagePNG($neuesBild,"$PicPathOut"."thumb_"."$bild");
}
$Thumbnail=$PicPathOut."thumb_".$bild;





$filename "pics/uploads_4d71d14d25851.jpg";
$percent 0.5;

// Get new sizes
list($width$height) = getimagesize($filename);
$newwidth $width $percent;
$newheight $height $percent;

// Load
$thumb imagecreatetruecolor($newwidth$newheight);
$source imagecreatefromjpeg($filename);

// Resize
imagecopyresized($thumb$source0000$newwidth$newheight$width$height);

// Output
imagejpeg($thumb,"a.jpg");










//---------------------- IN DER DB SPEICHERN -----------------------------------
$name2 $scriptsource."/".$name;
$name2 str_replace("./","",$name2);
$urlbild "$name2.html";
$Thumbnail2 str_replace("./","",$Thumbnail);
$thumb $scriptsource."/".$Thumbnail2;
$thumb2 "<a href=\"$urlbild\" target=\"_blank\" ><img src=\"$thumb\" border=0></a> ";
$bbcode '[url='.$urlbild.'][img]'.$name2.'[/img][/url]'//Ohne Thumbnail
$bbcode2 '[url='.$urlbild.'][img]'.$thumb.'[/img][/url]'//mit Thumbnail
$timestamp time();
$datum date("d.m.Y",$timestamp);
$uhrzeit date("H:i",$timestamp);
$datum2 $datum ." - "$uhrzeit "";
$link $name2;
$del rand(0,99999);
$ip =    $_SERVER['REMOTE_ADDR'];
$insert "INSERT INTO `img` (`link`,`code`,`del`,`datum`,`ip`) 
VALUES ('" 
$link "','" $name "','" $del "','" $datum2 "','" $ip "')";
$insert2 mysql_query($insert);
}
else
{
echo 
"<font color=red>"$fehler "</font>";
}
}


//------------------------------------- Codes des bildes nach upload------------
if ($_GET['act']) $step $_GET['act'];
if(
$step=="1_up")
{
if(!
$fehler)
{
echo 
"
</br>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=4 WIDTH=100% >
<TR>
<TD align=center VALIGN=TOP width='100'  rowspan=12 bgcolor=''><font size='-1' class='text1'>Thumbnail</font><br><br>
<img src='$name2' border='0' width='300'>
</TD>
<TD align=center  width='50' valign=bottom bgcolor=''>
<font size='-1'><b>Dein Bild:</b></FONT>
</TD>
</TR>
<TR>
<TD align=center  width='100' valign=top bgcolor=''>
<input type='text' class='text_bgImage' value='$urlbild'>
</TD>
</TR>
<TR>
<TD align=center  width='50' valign=bottom bgcolor=''>
<font size='-1'><b>Thumbnail</b></FONT>
</TD>
</TR>
<TR>
<TD align=center  width='100' valign=top bgcolor=''>
<input type='text' class='text_bgImage' value='$name2'>
</TD>
</TR>

<TR>
<TD align=center  width='50' valign=bottom bgcolor=''>
<font size='-1'><b>Direktlink</b></FONT>
</TD>
</TR>
<TR>
<TD align=center  width='100' valign=top bgcolor=''>
<input type='text' class='text_bgImage' value='$name2'>
</TD>
</TR>
<TR>
<TD align=center  width='100' valign=bottom bgcolor=''>
<font size='-1'><b>Direktlink mit Thumbnail (HTML)</b></FONT>
</TD>
<TR>
<TD align=center  width='100' valign=top bgcolor=''>
<input type='text' class='text_bgImage' value='$thumb2'>
</TD>
</TR>
<TR>
<TD align=center  width='100' valign=bottom bgcolor=''>
<font size='-1'><b>BBCode ohne Thumbnail</b></FONT>
</TD>
<TR>
<TD align=center  width='100' valign=top bgcolor=''>
<input type='text' class='text_bgImage' value='$bbcode'>
</TD>
</TR>
<TR>
<TD align=center  width='100' valign=bottom bgcolor=''>
<font size='-1'><b>BBCode mit Thumbnail</b></FONT>
</TD>
<TR>
<TD align=center  width='100' valign=top bgcolor=''>
<input type='text' class='text_bgImage' value='$bbcode2'>
</TD>
</TR>
</TABLE>"
;
}
else
{
echo
"";
}
}
?>
suicidus ist offline   Mit Zitat antworten
Alt 05.03.2011, 10:17  
Neuer Benutzer
 
Registriert seit: 11.02.2010
Beiträge: 28
PHP-Kenntnisse:
Anfänger
suicidus befindet sich auf einem aufstrebenden Ast
Standard

Wie es aussieht hat es sich erstmal erledigt. Habe den Code fürs verkleinern versetzt nach unten. Problem war, das er noch überhaupt keine Bilddatei hatte zum verkleinern, da sie vom Rest-Code noch gar nicht angelegt war...
suicidus ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Ajax - Session Problem halskrause PHP Tipps 2009 10 12.01.2010 02:27
[Erledigt] Problem mit Mehrsprachigkeit Sniper_Kotaro PHP Tipps 2009 2 16.12.2009 11:47
Problem beim Download Management mistermint PHP Tipps 2009 8 24.10.2009 11:34
Umlaut Problem nokieone PHP Tipps 2009 7 16.10.2009 19:30
Problem mit Basedir in PhP cmuch05 Datenbanken 9 08.01.2009 14:17
[Erledigt] Problem: PHP Selbe Datei mehr als 1 Mal soulan PHP Tipps 2008 13 28.11.2008 22:51
Problem Upload mehrere Dateien und schreiben in DB Lapje PHP Tipps 2008 1 22.10.2008 13:12
utf8 Problem (Daten aus DB auslesen) go1denboy PHP Tipps 2008 1 23.09.2008 12:19
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
gdlib load image new size, gdlib umlaute pfade, imagejpeg variable, php imagejpeg in variable, php gd resize height falsch, php gdlib suicidus, getimagesize list width height, html img src php imagejpeg variables post, gd lib $src width, gdlib image type, get variable verkleinern, $_files image error umlaute, gdlib php, gdlib wiki, image height gdlib, gdlib maximum size, php variabeln werden nicht an gdlib, bilder beim hochladen verkleinern php, gdlib bug image size, getimagesize gdlib

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:28 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum