php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.02.2009, 16:21  
Erfahrener Benutzer
 
Benutzerbild von djscaleo
 
Registriert seit: 19.10.2008
Beiträge: 384
PHP-Kenntnisse:
Fortgeschritten
djscaleo kann nur auf Besserung hoffen
djscaleo eine Nachricht über ICQ schicken djscaleo eine Nachricht über Skype™ schicken
Standard [Erledigt] Problem mit Uploader

Hi Leute!

Ich habe mir für das Uploadscript Jumploader ein nettes Script geschrieben, welches den Upload-Part übernimmt...

PHP-Code:
<?php

session_start
();

include(
"../gallery/_IMG.php");

$path '../../images/fotos/';
$ablauf_datum date('H:i'strtotime('+15 minutes'));

if (isset(
$_REQUEST['reset'])) {

    
$_SESSION['upload_datum'] = 0;
    
$albumtitel $_REQUEST[title];
    
    echo
'<meta http-equiv="refresh" content="0; URL=../../index.php?site=bilder">';
}

if(
$_SESSION['upload_datum'] < date('H:i')){
    
$verzeichnis dir($path);
    while(
$eintrag=$verzeichnis->read())
    {
      if(
$eintrag != '.' && $eintrag != '..')
      {
        if(
is_dir($path.$eintrag))
          {
            
$ordner[$i] = $eintrag;
            
$i++;
          }

      }
    }

    
$titel str_replace(" ""_"$albumtitel);
    
$titel str_replace("ä""ae"$titel);
    
$titel str_replace("ö""oe"$titel);
    
$titel str_replace("ü""ue"$titel);
    
$titel str_replace("-"""$titel);

    
$neuer_ordner $i 1;
    
$neuer_ordner sprintf("%05d"$neuer_ordner);
    
$bilderordner $path.'P'.$neuer_ordner.'_'.$titel.'';  
    
mkdir ($bilderordner0777);

    
$text $albumtitel;
    
$datei "".$bilderordner."/vz.cfg";
        
$write fopen ($datei"a+");
        
fwrite($write$text);
        
fclose($write);

    
$_SESSION['bilderordner'] = $bilderordner;
    
$_SESSION['upload_datum'] = $ablauf_datum;


}else{

    
$bilderordner $_SESSION['bilderordner'];

}



$file_param_name 'file';
$file_name $_FILES$file_param_name ][ 'name' ];
$source_file_path $_FILES$file_param_name ][ 'tmp_name' ];
$target_file_path $bilderordner"/" $file_name;


move_uploaded_file$source_file_path$target_file_path );


$strSource $target_file_path;
$strDestination $bilderordner"/thumb/" $file_name;

$oldsize getimagesize ($strSource); 
$Zheight 150;
$verhaltnis $oldsize[1] / $Zheight;
$Zwidth $oldsize[0] / $verhaltnis;

if (!
file_exists($strDestination)){
    
$img->resize($strSource,$strDestination1$Zwidth$Zheight ,90);
}
?>
Mithilfe einer anderen Datei, welche auch einwandfrei funktioniert, sollen auch direkt die Thumbnails erstellt werden...
Aber wie immer klappt es net...

Kann mir da vielleicht einer helfen???

Es klappt auf jeden fall allesin dem Script, außer dem Part:
PHP-Code:
$strSource $target_file_path;
$strDestination $bilderordner"/thumb/" $file_name;

$oldsize getimagesize ($strSource); 
$Zheight 150;
$verhaltnis $oldsize[1] / $Zheight;
$Zwidth $oldsize[0] / $verhaltnis;

if (!
file_exists($strDestination)){
    
$img->resize($strSource,$strDestination1$Zwidth$Zheight ,90);

Wäre euch sehr dankbar!!!

MfG. DjScaleo




Edit:
Mir ist schon einmal aufgefallen, dass ich
PHP-Code:
$img = new IMG(); 
vor dem
PHP-Code:
$strSource $target_file_path;
$strDestination $bilderordner"/thumb/" $file_name;

$oldsize getimagesize ($strSource); 
$Zheight 150;
$verhaltnis $oldsize[1] / $Zheight;
$Zwidth $oldsize[0] / $verhaltnis;

if (!
file_exists($strDestination)){
    
$img->resize($strSource,$strDestination1$Zwidth$Zheight ,90);

vergessen hatte,aber das hilft auch nicht weiter...

Geändert von djscaleo (14.02.2009 um 16:54 Uhr).
djscaleo ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.02.2009, 12:33  
Neuer Benutzer
 
Registriert seit: 05.02.2009
Beiträge: 21
BumpyJohnson befindet sich auf einem aufstrebenden Ast
Standard

Was macht den die Funktion resize und bist du sicher das diese geht?
Was passiert jetzt überhaupt?
BumpyJohnson ist offline  
Alt 16.02.2009, 09:45  
Erfahrener Benutzer
 
Benutzerbild von djscaleo
 
Registriert seit: 19.10.2008
Beiträge: 384
PHP-Kenntnisse:
Fortgeschritten
djscaleo kann nur auf Besserung hoffen
djscaleo eine Nachricht über ICQ schicken djscaleo eine Nachricht über Skype™ schicken
Standard

Also es klappt jetzt...

Ich erkläre auch noch einmal die funktionsweise, falls jemand das Script haben will...

Durch ein Programm namens JumpLoader wird eine Datei oder einze folge von mehreren Dateien enzelnd an ein Phpscript übergeben. Den COde könnt Ihr hier sehen:
PHP-Code:
<?php

session_start
();

//Uploadscript für Bildergallerien
//© 2009 DjScaleo
//Bitte vorher die jeweiligen Parameter für Ordner ändern / anpassen!

include("_IMG.php");

$path 'gallery/';
$ablauf_datum date('H:i'strtotime('+15 minutes'));

if (isset(
$_REQUEST['reset'])) {

    
$_SESSION['upload_datum'] = 0;
    
$albumtitel $_REQUEST[title];
    
    echo
'<meta http-equiv="refresh" content="0; URL=bilder.php">';
}

if(
$_SESSION['upload_datum'] < date('H:i')){
    
$verzeichnis dir($path);
    while(
$eintrag=$verzeichnis->read())
    {
      if(
$eintrag != '.' && $eintrag != '..')
      {
        if(
is_dir($path.$eintrag))
          {
            
$ordner[$i] = $eintrag;
            
$i++;
          }

      }
    }

    
$titel str_replace(" ""_"$albumtitel);
    
$titel str_replace("ä""ae"$titel);
    
$titel str_replace("ö""oe"$titel);
    
$titel str_replace("ü""ue"$titel);
    
$titel str_replace("-"""$titel);

    
$neuer_ordner $i 1;
    
$neuer_ordner sprintf("%05d"$neuer_ordner);
    
$bilderordner $path.'P'.$neuer_ordner.'_'.$titel.'';  
    
mkdir ($bilderordner0777);

    
$text $albumtitel;
    
$datei "".$bilderordner."/vz.cfg";
        
$write fopen ($datei"a+");
        
fwrite($write$text);
        
fclose($write);

    
$_SESSION['bilderordner'] = $bilderordner;
    
$_SESSION['upload_datum'] = $ablauf_datum;


}else{

    
$bilderordner $_SESSION['bilderordner'];

}

$thumb_path $bilderordner"/thumb/";
mkdir($thumb_path);


$file_param_name 'file';
$file_name $_FILES$file_param_name ][ 'name' ];
$source_file_path $_FILES$file_param_name ][ 'tmp_name' ];
$target_file_path $bilderordner"/" $file_name;


move_uploaded_file$source_file_path$target_file_path);

?>
Da meine Gallerie auch kleinere Vorschaubilder für die Fotos erstellt (dies geschieht in einer extra Gallerydatei), habe ich noch folgenden Code hinzugefügt:

PHP-Code:
if(move_uploaded_file$source_file_path$target_file_path)){

    
$img = new IMG();
    
    
$strSource $target_file_path;
    
$strDestination $thumb_path.$file_name;

    
$oldsize getimagesize ($strSource); 
    
$Zheight 150;
    
$verhaltnis $oldsize[1] / $Zheight;
    
$Zwidth $oldsize[0] / $verhaltnis;

    if (!
file_exists($strDestination)){
        
$img->resize($strSource$strDestination1$Zwidth$Zheight90);
    }

somit werden auch sofort die Vorschaubilder beim Uploaden erstellt, sodass ich keine extra Datei mehr aufrufen muss...

In Zukunft werde ich die Galerie in eine Class stecken. Daher weiß ich noch nicht, ob ich den Code dann ändern muss...
Falls doch werde ich euch natürlich auf dem laufendem halten...
?>
djscaleo ist offline  
Alt 21.02.2009, 20:08  
Erfahrener Benutzer
 
Benutzerbild von djscaleo
 
Registriert seit: 19.10.2008
Beiträge: 384
PHP-Kenntnisse:
Fortgeschritten
djscaleo kann nur auf Besserung hoffen
djscaleo eine Nachricht über ICQ schicken djscaleo eine Nachricht über Skype™ schicken
Standard

Also mein Code für die Gallery hat sich noch nicht wirklich geändert, aber ich wollte jetzt, das ein Wasserzeichen eingefügt wird...

dafür hab ich den Code imunteren Teil etwas geändert:
PHP-Code:
if(move_uploaded_file($source_file_path$target_file_path)){

    
$img = new IMG();
    
    
$strSource $target_file_path;
    
$strDestination $_SESSION[thumbs].$file_name;

    
$imgsize_source getimagesize ($strSource);
    
$imgsize_waterm getimagesize ($watermark);
    
    
//Größe des Vorschaubildes berechnen
    
$Zheight 150;
    
$verhaltnis $imgsize_source[1] / $Zheight;
    
$Zwidth $imgsize_source[0] / $verhaltnis;

    
//Vorschaubild erstellen
    
if (!file_exists($strDestination)){
        
$img->resize($strSource$strDestination1$Zwidth$Zheight90);
    }

    
//Wasserzeichen beim großen Bild
    
header('Content-type: image/jpeg');
    
$imgsrc imagecreatefromjpeg($strSource);
    
$imgzeichen imagecreatefromjpeg($watermark);

    
$img imagecreatetruecolor($imgsize_waterm[1], $imgsize_waterm[0]);
    
imagecopy($img$imgsrc0000$width$height);

    
$start_watermark_x $imgsize_source[1] - $imgsize_waterm[1];
    
$start_watermark_y $imgsize_source[0] - $imgsize_waterm[0];

    
imagecopy($img$imgzeichen00$start_watermark_x$start_watermark_y$imgsize_waterm[1], $imgsize_waterm[0]);

    
imagedestroy($img);



Doch statt ein Wasserzeichen einzufügen wird das Bild einfach nur geuploadet und ein Vorschuabild erstellt...

Kann mir mal wieder bitte einer helfen???


Achso und ich wollte noch wissen, ob vielleicht einer weiß, wie man es macht, dass alles was bei dem Wasserzeichen weiß ist, nicht eingefügt wird, damit man nicht bei einer Rundung im Wasserzeichen ein Rechteck drumherum hat...

MfG. DjScaleo
djscaleo ist offline  
Alt 21.02.2009, 20:44  
Erfahrener Benutzer
 
Benutzerbild von djscaleo
 
Registriert seit: 19.10.2008
Beiträge: 384
PHP-Kenntnisse:
Fortgeschritten
djscaleo kann nur auf Besserung hoffen
djscaleo eine Nachricht über ICQ schicken djscaleo eine Nachricht über Skype™ schicken
Standard

Ich habe jetzt mal festgestellt, dass das Script dass Bild nur erstellt und nicht speichert^^

Ich such dann mal, wie man ein Bild speichert...
djscaleo ist offline  
Alt 21.03.2009, 16:32  
Erfahrener Benutzer
 
Benutzerbild von djscaleo
 
Registriert seit: 19.10.2008
Beiträge: 384
PHP-Kenntnisse:
Fortgeschritten
djscaleo kann nur auf Besserung hoffen
djscaleo eine Nachricht über ICQ schicken djscaleo eine Nachricht über Skype™ schicken
Standard

Hat sich dann jetzt auch wieder erledigt....
djscaleo ist offline  
Alt 22.03.2009, 00:41  
Erfahrener Benutzer
 
Benutzerbild von Ti-Systems
 
Registriert seit: 06.10.2008
Beiträge: 240
PHP-Kenntnisse:
Fortgeschritten
Ti-Systems befindet sich auf einem aufstrebenden Ast
Ti-Systems eine Nachricht über ICQ schicken Ti-Systems eine Nachricht über MSN schicken
Standard

Weisst du, was eine Edit-Funktion ist?
Ti-Systems ist offline  
Alt 23.03.2009, 15:50  
Erfahrener Benutzer
 
Benutzerbild von djscaleo
 
Registriert seit: 19.10.2008
Beiträge: 384
PHP-Kenntnisse:
Fortgeschritten
djscaleo kann nur auf Besserung hoffen
djscaleo eine Nachricht über ICQ schicken djscaleo eine Nachricht über Skype™ schicken
Standard

a) Editieren kann man nur innerhalb von 24 Stunden nach dem erstellen des Beitrages
b) machmal ist es ganz sinnvoll auch mal einen Neuen Beitrag zu schreiben, da diese auch nicht direkt zusammenhängen
c) Es gibt auch Leute, die gerne mit sich selbst reden...
djscaleo ist offline  
Alt 11.08.2009, 03:43  
Neuer Benutzer
 
Registriert seit: 25.02.2009
Beiträge: 5
comriker befindet sich auf einem aufstrebenden Ast
Standard

hi djscaleo
Ich habe deinen beitrag über dem jumploader gelesen.
Ich bin selber am ausprobieren wie ich mehrere bilder hochladen kann. Bei dem Vorgang sollen die bilder verkleiner werden, ein thumb erstellt werden und ein wasserzeichen eingefügt werden.
Ich habe versucht dein script bei mir einzubauen, aber ich habe es nicht hinbekommen.
Beim jumploader kommt immer der fehler "Feherhafte Antwort vom Server"
Kannst du mir mal das script zuschicken? Habe auch gesehen, das mir da eine Datei fehlt (_IMG.php). Kannst du mir da weiterhelfen?

Gruß Chris
comriker ist offline  
 


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 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
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Problem bei Massenmails versenden mit der Funktion mail PHP-Fortgeschrittene 3 19.01.2005 13:36
[Erledigt] Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Problem mit eigenst Entwickelten Ftp Uploader! PHP Tipps 2004 2 07.09.2004 11:48
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
jumploader deutsch, jumploader ftp verzeichnis, jumploader ftp, uploader php, uploader.php, jumploader mkdir, jumploader upload ordner festlegen, jumploader watermark, jumploader erstes bild fehler, jump loader resize php, jumploader ä, jumploader zielordner, jumploader wasserzeichen fehlt, jumploader ftp problem, $_files[ $file_param_name ], \$bilderordner = \'bilderordner\';\, jumploader ftp:// directory, jumploader ftp email, \/jumploader/upload/\ problem, if(@mkdir(\$bildordner\,

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:17 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