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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
06.02.2006, 00:35:54
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 8
|
|
Bilder skalieren
Hallo erstmal,
folgendes (bin ein absoluter noob):
Versuche ein kleines script zum auslesen von Bildern aus ordnern und skalierung zu schreiben, das ganze wird nachher in Kombination mit Flash arbeiten...
PHP-Code:
<?php
$verz='bilder/pics/carribean flowers';
$d=dir($verz);
while($datei=$d->read())
{
$info=GetImageSize($verz.'/'.$datei);
if($info[2]==2){
$b=$info[0];
$h=$info[1];
$aB=ImageCreateFromJPEG($verz.'/'.$datei);
$nB=imagecreatetruecolor(300,300);
imagecopyresampled($nB,$aB,0,0,0,0,300,300,$b,$h);
$file='bilder/thumbs/carribean flowers/'.$datei;
$stat=imageJPEG($nB,$file);
};
};
$d->close();
?>
kann mir jemand sagen wieso diese Funktion immer nur ein Bild (das erste) des Ordners skaliert? (das auslesen funktioniert problemlos und auch das Skalieren eines (1) Bildes);
herzlichen Dank
|
06.02.2006, 14:42:23
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 17
|
|
AW: Bilder skalieren
Hi,
wenn nur ein Bild skalliert wird, wird wohl auch die Schleife nur einmal laufen. Demnach muss das zweite Bild was er erwischt durch die abfrage
PHP-Code:
if(info[2] == 2)
fallen!
lass dir aber zur sicherheit mal ein $i und ein $j ausgeben. das i lässt du vor der if-abfrage zählen und das $j innerhalb der if-abfrage und dann lässt du dir am ende ausgeben, wie oft $i und $j hochgezählt wurden.
also vor die while-schleife:
PHP-Code:
$i = 0;
$j = 0;
while(...)
{
$i++;
if(...)
{
$j++;
}
}
print' Vor IF: '.$i.' / Nach IF: '.$j.' ';
Dann kannst du dich gerne nochmal hier melden!
Geändert von BigManu (06.02.2006 um 14:43:09 Uhr)
|
06.02.2006, 15:17:00
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 8
|
|
AW: Bilder skalieren
Ne, das isses nicht...
...wenn ich mir nur die Dateinamen ausgeben lassen funktioniert ja alles prima (wenn ich die Bildgenerierung durch
PHP-Code:
echo $datei.'<br>';
ersetze z.B.)
kann es sein das das Skalieren zu lange dauert und darum die Schleife Unterbricht?
{übrigens hat diese if-abfrage ja nichts mit der Schleife selbst zu tun}
Geändert von jackalone (06.02.2006 um 15:18:51 Uhr)
|
06.02.2006, 15:26:09
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 17
|
|
AW: Bilder skalieren
naja, es geht mir dabei ja auch nicht unbedingt um die schleife. ich glaube nicht, dass es an der länge der skallierung dauert!
wenn du das mal ausführen würdest, könnte ich dir vllt. weiter helfen. das an der schleife an sich nix falsch ist, ist klar, nur bleibt er evtl. an der if-abfrage hängen. oder es gibt während der skallierung einen fehler, der den abbruch der schleife hervorruft...
Geändert von BigManu (08.02.2006 um 07:57:40 Uhr)
|
06.02.2006, 15:53:51
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 8
|
|
AW: Bilder skalieren
ok wenn die skalierung drinn ist bekomm ich gar keine ausgabe! (nicht einmal $i=0)
|
06.02.2006, 17:38:10
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Bilder skalieren
Hast du error_reporting auf E_ALL gesetzt und display_errors aktiviert?
|
06.02.2006, 20:30:02
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 8
|
|
AW: Bilder skalieren
ou stimmt ja ich hatte die error reports ausgeschalten... *schäm*
PHP-Code:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$verz='bilder/pics/carribean flowers';
$d=dir($verz);
$i=0;
$j=0;
while($datei=$d->read())
{
$info=GetImageSize($verz.'/'.$datei);
$i++;
if($info[2]==2){
$j++;
$b=$info[0];
$h=$info[1];
$aB=ImageCreateFromJPEG($verz.'/'.$datei);
$nB=imagecreatetruecolor(300,300);
imagecopyresampled($nB,$aB,0,0,0,0,300,300,$b,$h);
$file='bilder/thumbs/carribean flowers/'.$datei;
$stat=imageJPEG($nB,$file);
};
};
$d->close();
echo 'i: '.$i.' j: '.$j;
?>
Fehlermeldung:
Zitat:
Warning: getimagesize(bilder/pics/carribean flowers/.) [function.getimagesize]: failed to open stream: Permission denied in D:\Programme\Apache Group\Apache2\htdocs\phps\TMPce0meua5y4.php on line 10
Warning: getimagesize(bilder/pics/carribean flowers/..) [function.getimagesize]: failed to open stream: Permission denied in D:\Programme\Apache Group\Apache2\htdocs\phps\TMPce0meua5y4.php on line 10
Fatal error: Maximum execution time of 30 seconds exceeded in D:\Programme\Apache Group\Apache2\htdocs\phps\TMPce0meua5y4.php on line 16
|
heisst das ich muss zuvor chmod rechte vergeben?
|
06.02.2006, 20:49:48
|
Junior Member
|
|
Registriert seit: Apr 2005
Beiträge: 309
|
|
AW: Bilder skalieren
Heißt meiner Meinung nach, dass Du ".." und "." versuchst als Dateien zu lesen, da es sich aber nicht um Dateien handelt gibt es einen Fehler??!
Versuch doch mal das ganze nur auszuführen, wenn $datei!="." und $datei!=".." !
|
06.02.2006, 22:13:45
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 8
|
|
AW: Bilder skalieren
aaaahhhh und natürlich habe ich beim reinen ausgeben der Dateien per echo nicht gesehen das die ersten 2 nicht funktioniert haben da ich den error_report unterdrückt hatte (damn!)... herzlichen dank!
ich habe aber immer noch das problem der Zeitüberschreitung...
Zitat:
Fatal error: Maximum execution time of 30 seconds exceeded in D:\Programme\Apache Group\Apache2\htdocs\phps\TMPg7ejduaaw6.php on line 18
|
|
06.02.2006, 23:40:33
|
Junior Member
|
|
Registriert seit: Apr 2005
Beiträge: 309
|
|
AW: Bilder skalieren
Hast Du die Prüfung ob ".." oder "." für die gesamte Schleife laufen oder nur für
PHP-Code:
$info=GetImageSize($verz.'/'.$datei);
?
Du musst mindestens auch bei
PHP-Code:
$aB=ImageCreateFromJPEG($verz.'/'.$datei);
diese Prüfung durchführen, also die WHILE-Schleife am Besten mit dieser Prüfung koppeln - wozu soll sonst auch überhaupt irgendwas erstellt werden?!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 15:59:27 Uhr.
|