SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 29.01.2006, 15:20:08
DragonofSilence DragonofSilence ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 15
Bilderupload mit Verkleinerung.. nur jpg.. einige datein funktionien, andere nicht

hallo..
ich habe folgenden scripts geschrieben.. . sind nur zu testzwecken.. also nicht über stil und unnütze anzeigen usw. wundern..
erstmal das form.. auf der ersten seite
PHP-Code:
 <form enctype="multipart/form-data" action="upload2.php" method="post">
   <
input type="hidden" name="MAX_FILE_SIZE" value="2097152">
   
Datei: <br>
   <
input name="userfile" type="file"><br><br>
   <
input type="submit" value="Send File">
  </
form
und dann die nachfolgende seite..

PHP-Code:
<?php
echo "<pre>";
print_r($_FILES);
echo 
"</pre>";

$uploaddir '../media';
echo 
"<br><br>".$_FILES['userfile']['tmp_name']."<br>";
echo 
"<img src=\"".$_FILES['userfile']['tmp_name']."\"><br><br>";

if (
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir ."/"$_FILES['userfile']['name'])) 
{ print 
"File is valid, and was successfully uploaded.  Here's some more debugging info:\n"; }
else { print 
"Possible file upload attack!  Here's some debugging info:\n"; }


$image $uploaddir."/".$_FILES['userfile']['name'];
echo 
"<br><br>".$image."<br>";
echo 
"<img width=\"100\" src=\"".$image."\"><br><br>";

$info getimagesize($image);
echo 
"<pre>";
print_r($info);
echo 
"/<pre>";
echo 
"Bildbreite: " $info[0];
$orginalbreite $info[0];
echo 
"<br>";
echo 
"Bildhöhe: " $info[1];
$orginalhoehe $info[1];
echo 
"<br>";
echo 
"Grafik-Typ: " $info[2];
echo 
"<br>";
echo 
"HTML-Zeichenkette: " $info[3] . "<br><br><hr><br><br>"
$neuebreite "300";
if(
$orginalbreite $neuebreite)
{
$verhaeltnis $orginalbreite $orginalhoehe;
$neuehoehe round($neuebreite $verhaeltnis);
echo 
$neuebreite."<br>";
echo 
$neuehoehe."<br>";
}
if(
$orginalbreite <= $neuebreite)
{
$neuebreite $orginalbreite;
$neuehoehe $orginalhoehe;
echo 
$neuebreite."<br>";
echo 
$neuehoehe."<br>";
}
if(
$info[mime] == "image/jpeg")
{
$bilda imagecreatefromjpeg("$image");
$bildn imagecreatetruecolor($neuebreite$neuehoehe);
imagecopyresized($bildn,$bilda,0,0,0,0,$neuebreite,$neuehoehe,$orginalbreite,$orginalhoehe);
imagejpeg($bildn,$image,100); 
echo 
"<img src=\"".$image."\"><br><br>";
}
else
echo 
"..hat nicht geklappt..";
?>
mein Problem ist nun, das die meisten jpegs gehen.. manche aber nicht.. und ich weiß nicht warum, und schon garnicht wie ich das problem umgehen kann..
hier sind mal 2 testdatein.

http://www.schnappschiss25.de.vu/pri...geht nicht.jpg

http://www.schnappschiss25.de.vu/privat/nova - geht.jpg

hab die, die geht nur in nem fotoprog geöffnet und neu gespeichert.. nicht mehr..

hat jemand ne ahnung an was es liegt??.. und wie ichs hinbekomme...

Fehlermeldung gibts nicht wirklich.. also wenn man auf den submit der ersten seite drückt kommt ein windowsfehler ton und der browser hängt.. hab PHP 5.1.1 mit GD 2.0.2.8

danke schon mal
Mit Zitat antworten
  #2  
Alt 29.01.2006, 15:30:14
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Bilderupload mit Verkleinerung.. nur jpg.. einige datein funktionien, andere nich

Zitat:
Zitat von DragonofSilence
mein Problem ist nun, das die meisten jpegs gehen.. manche aber nicht..
Wie macht sich das bemerkbar?
Mit Zitat antworten
  #3  
Alt 29.01.2006, 15:41:57
DragonofSilence DragonofSilence ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 15
AW: Bilderupload mit Verkleinerung.. nur jpg.. einige datein funktionien, andere nich

naja ich will usern die möglichkeit geben n paar bildchen hochzuladen.. aber wenn sich bei einigen bildern der browser aufhängt ist das scheiße.. wenn ich übrigens die verkleinerung rauslassen wird die datei richtig auf den server kopiert..
Mit Zitat antworten
  #4  
Alt 29.01.2006, 15:58:28
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Bilderupload mit Verkleinerung.. nur jpg.. einige datein funktionien, andere nich

Wenn sich der Browser beim Upload aufhängt, ist das aber wohl eher ein Problem des Browser als deines Scriptes.
Mit Zitat antworten
  #5  
Alt 29.01.2006, 16:03:41
DragonofSilence DragonofSilence ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 15
AW: Bilderupload mit Verkleinerung.. nur jpg.. einige datein funktionien, andere nich

das macht sowohl IE als auch FireFox.. ich denk daran liegts nicht.. weil die meinsten dateien funktionieren ja..
Mit Zitat antworten
  #6  
Alt 29.01.2006, 19:30:20
DragonofSilence DragonofSilence ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 15
AW: Bilderupload mit Verkleinerung.. nur jpg.. einige datein funktionien, andere nich

okay.. ich das nochmal ordentlich überarbeitet, das problem zwar nicht behoben, aber ich hab noch andere Fragen. Hier erstmal der Quelltext

PHP-Code:
<?php
include ("include-sessionkontrolle.php");


//Konfiguration für JPEG-Upload

$uploaddir "../media";         //Zielverzeichnis (Schreibzugriff muss gegeben sein) 
$gewuenschtebreite "300";      //Bildgröße (Auflösung) wird auf diese Breite reduziert
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<title><?php echo $title?></title>
</head>
<body>

<table cellspacing="0" cellpadding="0" width="100%" height="100%" border="0" align="center" class="normal">
 <tr>
  <td>
   <table cellspacing="0" cellpadding="0" width="550" align="center" class="normal; mpnull">
    <tr>
     <td width="550" align="center">


<?php


//Überprüfung des Dateityps 

$type $_FILES['userfile']['type'];                                //Auslesen des Typs
$type strtolower($type);                                           // Kleinschreiben
if (preg_match('/^image/',$type) and preg_match('/jpeg/',$type))   // Überprüfung auf Übereinstimmung des Typs mit dem gewünschten Dateiformat
 
{
 
$type "true";
 }
else
 {
 
$meldung "Fehler: <b>".$_FILES['userfile']['name']."</b> ist keine Bild im jpeg-Format";
 }




//Übertragen von temp ins Zielverzeichnis 

if($type == "true")      
 {                                   
//Überprüfen ob Datei hochgeladen und aus dem Temporären Speicher ins Zielverzeichnis kopiert wurde
 
if (!move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir ."/"$_FILES['userfile']['name'])) 
  { 
  
$meldung "Fehler beim übertragen der Datei"
  }



//Ändern der Auflösung des Bildes

 
$image $uploaddir."/".$_FILES['userfile']['name']; //Pfad zur Datei im Zielverzeichnis

 
$info getimagesize($image);        //Auslesen der Auflösung des Bildes und berechnung der zukünftigen Maße
 
$orginalbreite $info['0'];
 
$orginalhoehe $info['1'];
 
$neuebreite $gewuenschtebreite;

 if(
$orginalbreite $neuebreite)         //wenn Bild gößer als Gewunscht wird verkleinert
  
{                                      //wenn Bild kleiner oder gewünschte größe, bleibt Datei unverändert
  
$verhaeltnis $orginalbreite $orginalhoehe;
  
$neuehoehe round($neuebreite $verhaeltnis);
  
$bilda imagecreatefromjpeg($image);
  if(!
$bildn)
   {                                         
//Speichern mit neuer Auflösung
   
$bildn imagecreatetruecolor($neuebreite$neuehoehe);
   
imagecopyresized($bildn,$bilda,0,0,0,0,$neuebreite,$neuehoehe,$orginalbreite,$orginalhoehe); 
   
imagejpeg($bildn,$image,100);
   }
  else
   {
   
$meldung "Fehler beim bearbeiten des Bildes: <b>".$_FILES['userfile']['name']."</b>";
   }
  
$meldung "Das Bild: <b>".$_FILES['userfile']['name']."</b> wurde auf ".$neuebreite."x".$neuehoehe." verkleinert und gespeichert";
  
$anzeige "true";
   }
 else
  {
  
$meldung "Das Bild: <b>".$_FILES['userfile']['name']."</b> wurde bei unveränderter Größe gespeichert";
  
$anzeige "true";
  }
 }




//Ausgabe an den User

echo "..".$meldung."..";               
if(
$anzeige == "true"
 {
 echo 
"<br><br><img src=\"".$image."\">";
 }
 
?>
     </td>
    </tr> 
   </table>
  </td>
 </tr>
</table>
</body>
</html>
kann es sein, das ich die temporären dateien löschen?.
ist die Zieldatei vom server noch geöffnet, weil ich sie nicht löschen kann?.
Mit Zitat antworten
  #7  
Alt 29.01.2006, 22:01:35
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Bilderupload mit Verkleinerung.. nur jpg.. einige datein funktionien, andere nich

Zitat:
Zitat von DragonofSilence
kann es sein, das ich die temporären dateien löschen?.
ist die Zieldatei vom server noch geöffnet, weil ich sie nicht löschen kann?.
move_uploaded_file() verschiebt die Datei. Was willst du da noch großartig löschen?
Mit Zitat antworten
  #8  
Alt 30.01.2006, 14:28:29
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
not a valid Image resource

Habe da ein sehr ähnliches Problem. Ich lasse mir Bilder in variablen Größen anzeigen, habe sie daher nicht als Thumbnails gespeichert.
Wenn ich dann so eine Thumbnail-Ansicht erstelle, dann klappt das bei den GIFs und bei einigen JPEGs, aber bestimmte JPEGs werden nur als Kreuz angezeigt.


Als Fehlermeldung erhalte ich
Code:
Warning: imagecreatefromjpeg(): 'Bild001.jpg' is not a valid JPEG file in...
Warning: imagecopyresized(): supplied argument is not a valid Image resource in ...
Vielleicht hat es die selbe Ursache?! Will jetzt hier nicht mit meinem PHP-Code belasten, aber vielleicht helfen diese Meldungen in dem Zusammenhang weiter?!

Als Filetyp per getimagesize erhalte ich immer die 2 (also JPEG), egal ob er die Bilder anzeigt oder nicht.

PS : Die beiden links zeigen bei mir übrigens das gleiche Bild an?! Also funktioniert es doch oder wie?
Mit Zitat antworten
  #9  
Alt 30.01.2006, 14:48:10
DragonofSilence DragonofSilence ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 15
AW: Bilderupload mit Verkleinerung.. nur jpg.. einige datein funktionien, andere nich

ja gut.. schon richtig mit dem move()...

ich hab aber ein problem mit den daten die dann auf dem server sind.. ich kann die nicht direkt runterkopieren.. also per IE kann man ja mit ftp://user:passwort@host ein extplorerfenster zum Server öffnen. alle Datein die ich aber upgeloaded haben kann ich nicht auf die windows-typische art kopieren.. gibt immer n fehler: "Es ist ein Fehler beim kopieren der Datei aufgtreten." .. scheinbar ist die datei auch nur über http zu öffnen.. alles per ftp geht überhaupt nicht.. warum?..

ach ja und dann habe ich noch ein weiteres Problem, da man ja den user bei einer großen anzahl von bildern nicht jede Datei einzeln hochladen lassen will, such ich noch nach ner möglich das etwas angenehmer zumachen. hab erst gesucht ob ich per <input type="file"> irgendwie die urls in ein array eingeben kann, und dann die daten des arrys in ner while schleife hochladen lasse... das wäre recht gut, da man ja da leicht ne statusanzeige basteln kann.. aber so wies aussieht lässt sich das wohl nicht umsetzten, oder??.. (schon aus sicherheitsgründen denke ich mal).. obwohl wenn man mit copy nen lokalen file (file://D:/ usw. ) auch uploaden kann.. ich denk aber mal wenn dann nur per ftp.. . .naja falls da jemand ne idee hat, wäre ich echt dankbar..

achja und zu mienem jpeg problem.. wenn ich das auf dem server im internet habe kommt ne fehler meldung... invalid jpeg. oder so.. liegt also irgendwie an der datei.. kann sein das es ein strukturfehler ist.. hab die dateien von einer abgeschmierten festplatte gerettet...
Mit Zitat antworten
  #10  
Alt 30.01.2006, 15:00:56
DragonofSilence DragonofSilence ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 15
AW: Bilderupload mit Verkleinerung.. nur jpg.. einige datein funktionien, andere nich

hab den fehler eben selbst gefunden... da muss noch ein
PHP-Code:
chmod($image,0755); 
rein.. ich würde mich aber freuen wenn jemand eine möglichkeit für mehere Dateien postet...
als notlösung??.. kann man mehrere files in einem formular schicken.. also ich weiß wie das geht ist kein problem.. aber das lastet ja bekanntlich den scriptspeicher etwas aus hier sind mal die Daten von meinem Server.
http://www.schnappschiss25.de.vu/Upload-Test.php
wieviel Bilder kann man dem zutrauen, wenn mal von der maximalen Dateigröße von 2 MB ausgeht?
danke schon mal..
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
datein aus einem ornder löschen wenn sie zu alt sind momo.metti PHP Grundlagen 6 01.07.2004 18:29:14
file size grossen von datein emitteln! testing PHP für Fortgeschrittene und Experten 4 24.06.2002 14:41:05


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:08:13 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.


© 2001-2021 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt