3 PHP scripte zur gleichen zeit ausführen?

green_phanta

Erfahrenes Mitglied
Hey!

Ich habe mal ne Frage. Ich arbeite mit Golive... und ich wollte fogendes erreichen: Bei Klick auf einen Button werden 3 PHP Scipte gleichzeitig ausgeführt und wenn sie fertig geladen sind soll man wieder auf die vorherige Seite kommen... kann mir da wer helfen? Bzw ist das überhaupt möglich?


thx
greets green
 
Der Code wird immer von oben nach unten verabeitet wie lang der dabei ist eben eine zeitfrage. Je nach dem wie du das ganze schreibst kommt man danach auch zur gewümschten Seite wieder.

Also du kanst mehre sachen ausführen lassen die im hintergrund nach einenander abgearbeitet werden.

Mfg Splasch
 
Ja aber wie mache ich das?
Ich will auf einen Button klicken, dann öffnen sich meinetwegen drei kleine Fenster oder so (in denen wird der Script ausgeführt) und dann schließen sie sich automiatisch wieder...

Wo muss ich da was hinschreiben? Ich habe fast keine Ahnung wie man das schreibt ich weiß nur eher wie mans liest...

Ich stelle mir das vielleicht so vor:
Ein Script der den anderen drei Scripten saagt: "Ihr drei führt euch jetz aus und wenn ihr fertig seit, dann sagt mir das" und wenn der Script den Befehl bekommt das alle drei fertig sein schliest er sich automatisch...

Ich habe aber keinen Plan wie ich das schreiben sollte,...


Vielleicht kannst du mir sagen wie man das schreib oder mir einen Link zu nem Beispiel oder so geben...


THX
greets green
 
Ja aber wie mache ich das?
Ich will auf einen Button klicken, dann öffnen sich meinetwegen drei kleine Fenster oder so (in denen wird der Script ausgeführt) und dann schließen sie sich automiatisch wieder...

Warum sollen sich 3 Fenster öffnen ?

Vergiss das mit den 3 Script aus dem wird 1 großes das nach einander durchgeführt wird,
Was willst du überhaupt machen bwz was sollen die script tun.Ein wenig mehr Info mußt du uns schon geben damit man sagen kann wie man das schreibt.

Zeig mal her deine 3 Scripte !

Mfg Splasch
 
Zuletzt bearbeitet:
Also ... es sind im Prinzip 3 mal die selben Scripts nur jeweils mit anderen Verzeichnissen..

PHP:
<?php



$update_thumbs = true;

$thumb_w = 76;

$thumb_h = 90;

$thumb_q = 95;



$base_dir = 'uploaded';

$gal_name = 'fading dreams gallery';



if (isset($_GET["update"]) && $_GET["update"] == "true") $update_thumbs = true;

if (isset($_GET["base"])) $base_dir = htmlentities(stripslashes($_GET["base"]));

if (isset($_GET["name"])) $gal_name = htmlentities(stripslashes($_GET["name"]));



$images = array();



$xm_str = '<gal name="'.$gal_name.'" base="'.$base_dir.'">';



if (is_dir($base_dir) && $dhd = opendir($base_dir)) {

	while ($file = readdir($dhd)) {

		$link = $base_dir.'/'.$file;

		if (is_file($link)) {

			$size = filesize($link);

			$measures = @getimagesize($link);

			array_push($images, $file);

			if ($update_thumbs) {

				$thumb = createThumb($base_dir, $file, $measures[0], $measures[1]);

			} else {

				$thumb = (is_file($base_dir.'/thumbs_main/'.$file))? 'thumbs_main/'.$file : $file;

			}

			$xm_str.= '

	'.'<img src="'.$file.'" thumb="'.$thumb.'" width="'.$measures[0].'" height="'.$measures[1].'" size="'.$size.'" />';

		}

	}

	closedir($dhd);

}



$xm_str.= '

</gal>';



echo $xm_str; // testweise: '<pre>'.htmlentities($xm_str).'</pre>';



if ($update_thumbs) {

	clearThumbs($base_dir, $images);

}



function clearThumbs($base_dir, $images) {

	if (is_dir($base_dir.'/'.'thumbs') && $dhd = opendir($base_dir.'/'.'thumbs')) {

		while ($file = readdir($dhd)) {

			if (is_file($base_dir.'/'.'thumbs'.'/'.$file)) {

				$found = false;

				foreach($images as $val) {

					if ($file == $val) {

						$found = true;

						break;

					}

				}

				if (!$found) {

					$u = unlink($base_dir.'/'.'thumbs'.'/'.$file);

				}

			}

		}

		closedir($dhd);

	}

}



function createThumb($base_dir, $file, $w, $h) {

	global $thumb_w, $thumb_h, $thumb_q;

	$path = $base_dir.'/'.$file;

	if (!is_dir($base_dir.'/'.'thumbs')) {

		mkdir($base_dir.'/'.'thumbs', 0777);

	}

	$temp = imagecreatefromjpeg($path);

	$r = $w / $h;

	$thumb_h = intval($thumb_w / $r);

	$small = imagecreatetruecolor($thumb_w, $thumb_h);

	if ($suc = imagecopyresampled($small, $temp, 0, 0, 0, 0, $thumb_w, $thumb_h, $w, $h)) {

		$result = imagejpeg($small, $base_dir.'/thumbs_main/'.$file, $thumb_q);

	} else {

		$result = false;

	}

	imagedestroy($temp);

	imagedestroy($small);

	if ($result) {

		return 'thumbs_main/'.$file;

	} else {

		return $file;

	}

}





?>


PHP:
<?php



$update_thumbs = true;

$thumb_w = 60;

$thumb_h = 40;

$thumb_q = 95;



$base_dir = 'uploaded';

$gal_name = 'fading dreams gallery';



if (isset($_GET["update"]) && $_GET["update"] == "true") $update_thumbs = true;

if (isset($_GET["base"])) $base_dir = htmlentities(stripslashes($_GET["base"]));

if (isset($_GET["name"])) $gal_name = htmlentities(stripslashes($_GET["name"]));



$images = array();



$xm_str = '<gal name="'.$gal_name.'" base="'.$base_dir.'">';



if (is_dir($base_dir) && $dhd = opendir($base_dir)) {

	while ($file = readdir($dhd)) {

		$link = $base_dir.'/'.$file;

		if (is_file($link)) {

			$size = filesize($link);

			$measures = @getimagesize($link);

			array_push($images, $file);

			if ($update_thumbs) {

				$thumb = createThumb($base_dir, $file, $measures[0], $measures[1]);

			} else {

				$thumb = (is_file($base_dir.'/thumbs_thumbs/'.$file))? 'thumbs_thumbs/'.$file : $file;

			}

			$xm_str.= '

	'.'<img src="'.$file.'" thumb="'.$thumb.'" width="'.$measures[0].'" height="'.$measures[1].'" size="'.$size.'" />';

		}

	}

	closedir($dhd);

}



$xm_str.= '

</gal>';



echo $xm_str; // testweise: '<pre>'.htmlentities($xm_str).'</pre>';



if ($update_thumbs) {

	clearThumbs($base_dir, $images);

}



function clearThumbs($base_dir, $images) {

	if (is_dir($base_dir.'/'.'thumbs') && $dhd = opendir($base_dir.'/'.'thumbs')) {

		while ($file = readdir($dhd)) {

			if (is_file($base_dir.'/'.'thumbs'.'/'.$file)) {

				$found = false;

				foreach($images as $val) {

					if ($file == $val) {

						$found = true;

						break;

					}

				}

				if (!$found) {

					$u = unlink($base_dir.'/'.'thumbs'.'/'.$file);

				}

			}

		}

		closedir($dhd);

	}

}



function createThumb($base_dir, $file, $w, $h) {

	global $thumb_w, $thumb_h, $thumb_q;

	$path = $base_dir.'/'.$file;

	if (!is_dir($base_dir.'/'.'thumbs')) {

		mkdir($base_dir.'/'.'thumbs', 0777);

	}

	$temp = imagecreatefromjpeg($path);

	$r = $w / $h;

	$thumb_h = intval($thumb_w / $r);

	$small = imagecreatetruecolor($thumb_w, $thumb_h);

	if ($suc = imagecopyresampled($small, $temp, 0, 0, 0, 0, $thumb_w, $thumb_h, $w, $h)) {

		$result = imagejpeg($small, $base_dir.'/thumbs_thumbs/'.$file, $thumb_q);

	} else {

		$result = false;

	}

	imagedestroy($temp);

	imagedestroy($small);

	if ($result) {

		return 'thumbs_thumbs/'.$file;

	} else {

		return $file;

	}

}





?>


PHP:
<?php



$update_thumbs = true;

$thumb_w = 750;

$thumb_h = 600;

$thumb_q = 95;



$base_dir = 'uploaded';

$gal_name = 'fading dreams gallery';



if (isset($_GET["update"]) && $_GET["update"] == "true") $update_thumbs = true;

if (isset($_GET["base"])) $base_dir = htmlentities(stripslashes($_GET["base"]));

if (isset($_GET["name"])) $gal_name = htmlentities(stripslashes($_GET["name"]));



$images = array();



$xm_str = '<gal name="'.$gal_name.'" base="'.$base_dir.'">';



if (is_dir($base_dir) && $dhd = opendir($base_dir)) {

	while ($file = readdir($dhd)) {

		$link = $base_dir.'/'.$file;

		if (is_file($link)) {

			$size = filesize($link);

			$measures = @getimagesize($link);

			array_push($images, $file);

			if ($update_thumbs) {

				$thumb = createThumb($base_dir, $file, $measures[0], $measures[1]);

			} else {

				$thumb = (is_file($base_dir.'/thumbs/'.$file))? 'thumbs/'.$file : $file;

			}

			$xm_str.= '

	'.'<img src="'.$file.'" thumb="'.$thumb.'" width="'.$measures[0].'" height="'.$measures[1].'" size="'.$size.'" />';

		}

	}

	closedir($dhd);

}



$xm_str.= '

</gal>';



echo $xm_str; // testweise: '<pre>'.htmlentities($xm_str).'</pre>';



if ($update_thumbs) {

	clearThumbs($base_dir, $images);

}



function clearThumbs($base_dir, $images) {

	if (is_dir($base_dir.'/'.'thumbs') && $dhd = opendir($base_dir.'/'.'thumbs')) {

		while ($file = readdir($dhd)) {

			if (is_file($base_dir.'/'.'thumbs'.'/'.$file)) {

				$found = false;

				foreach($images as $val) {

					if ($file == $val) {

						$found = true;

						break;

					}

				}

				if (!$found) {

					$u = unlink($base_dir.'/'.'thumbs'.'/'.$file);

				}

			}

		}

		closedir($dhd);

	}

}



function createThumb($base_dir, $file, $w, $h) {

	global $thumb_w, $thumb_h, $thumb_q;

	$path = $base_dir.'/'.$file;

	if (!is_dir($base_dir.'/'.'thumbs')) {

		mkdir($base_dir.'/'.'thumbs', 0777);

	}

	$temp = imagecreatefromjpeg($path);

	$r = $w / $h;

	$thumb_h = intval($thumb_w / $r);

	$small = imagecreatetruecolor($thumb_w, $thumb_h);

	if ($suc = imagecopyresampled($small, $temp, 0, 0, 0, 0, $thumb_w, $thumb_h, $w, $h)) {

		$result = imagejpeg($small, $base_dir.'/thumbs/'.$file, $thumb_q);

	} else {

		$result = false;

	}

	imagedestroy($temp);

	imagedestroy($small);

	if ($result) {

		return 'thumbs/'.$file;

	} else {

		return $file;

	}

}





?>


Also Ihr seht... haargenau die selben Scripts nur mit anderen Pfaden. Ich habe mir auch schon gedacht die zu einem zu machen aber ich habs ned geschafft vl kannst du mir helfen?

Vielleicht kannst du mir noch en Gefallen tun? Kannst du mir erklären wie ich vielleicht einfach einen Hintergrund mache wenn der Script ausgeführt wird? Dh... ich geh auf den Script dann steht da "Bitte Warten!" Und wenns fertig is schliest sich das Fenster wieder?
Boahh das wär geil!!


THX
greets green
 
Wie du schon richtig erkant hast brauchst du nur 1 script das eben mit verschieden Werten arbeitet.

Ich würd das ganze script als Funktion machen und danach brauchste nur noch 3 mal die Funktion aufrufen.

Funktionname Parameter,Parameter ;
Funktionname Parameter,Parameter ;
unsw.

Um die Bildschirm Anweisung zu ändern brauchst du nur normale Html befehle ausgeben zb. vor dem Funktion start Body bgcolor="blue" Dann hast blauen hintergrund und eben den Text was du haben willst. Hmtl befehle soltes du ja kennnen.
So dann startet du die Funkion aufruf. Ist dann die 3 Ausgeführt gibst du unten einen Reload befehl an bsp. mit javascript der die Aktuelle seite neu laded. Dadurch nun keine Get Werte mit übergeben werden weißte das das Script fertig ist und kann demenstprechend dann dein Formular wieder ausgeben.Oder eben eine andere Meldung

Mfg Splasch
 
Zuletzt bearbeitet:
Ich würd das ganze script als Funktion machen und danach brauchste nur noch 3 mal die Funktion aufrufen.

Funktionname Parameter,Parameter ;
Funktionname Parameter,Parameter ;
unsw.

Mhh ja das klingt gut... jedoch wie schreibe ich eine Funktion? Und wie schreib ich dann die Funktion mit verschiedenen Parametern?
Sry aber ich kenne mich echt null aus...

greets green
 
Das ist einfacher als es sich anhört ;)
PHP:
function Funktionsname($parameter1, $parameter2, $parameter3)
{
echo $parameter1, $parameter2;
}

Funktionsname('Erstes', 'Und hier mal ein Satz', 900);

Du müssest jetzt eine Funktion haben, die wie folgt aussieht:
PHP:
function verzeichnis($verzeichnis)
{
//Der Code
}
Dann müssest du im Code nur noch die 3 verschiedenen Verzeichnise durch $verzeichnis ersetzen und in Der Code schreiben.

Mit verzeichnis('Name des Verzeichnisses'); startest du die Funktion dann ;)
 
einfach den oberen Teil in eine Funktion packen:

PHP:
<?php

function Thumb($thumb_w,$thumb_h,$thumb_q) {
	$update_thumbs = true;
	$base_dir = 'uploaded';
	$gal_name = 'fading dreams gallery';
	if (isset($_GET["update"]) && $_GET["update"] == "true")
		$update_thumbs = TRUE;
	if (isset($_GET["base"])) 
		$base_dir = htmlentities(stripslashes($_GET["base"]));
	if (isset($_GET["name"])) 
		$gal_name = htmlentities(stripslashes($_GET["name"]));
	
	$images = array();
	$xm_str = '<gal name="'.$gal_name.'" base="'.$base_dir.'">';
	if (is_dir($base_dir) && $dhd = opendir($base_dir)) {
	    while ($file = readdir($dhd)) {
	        $link = $base_dir.'/'.$file;
	        if (is_file($link)) {
	            $size = filesize($link);
	            $measures = @getimagesize($link);
	            array_push($images, $file);
	            if ($update_thumbs) {
								$thumb = createThumb($base_dir, $file, $measures[0], $measures[1]);
	            } 
	            else {
	     	       $thumb = (is_file($base_dir.'/thumbs/'.$file))? 'thumbs/'.$file : $file;
	            }
	            $xm_str.= "\r\n".'<img src="'.$file.'" thumb="'.$thumb.'" width="'.$measures[0].'" height="'.$measures[1].'" size="'.$size.'" />';
	        }
	    }
	    closedir($dhd);
	}
	$xm_str.= "\r\n\r\n</gal>";
	echo $xm_str; // testweise: '<pre>'.htmlentities($xm_str).'</pre>';
	if ($update_thumbs) {
		clearThumbs($base_dir, $images);
	}
}
function clearThumbs($base_dir, $images) {
	if (is_dir($base_dir.'/'.'thumbs') && $dhd = opendir($base_dir.'/'.'thumbs')) {
		while ($file = readdir($dhd)) {
			if (is_file($base_dir.'/'.'thumbs'.'/'.$file)) {
				$found = false;
        foreach($images as $val) {
					if ($file == $val) {
						$found = true;
						break;
					}
				}
				if (!$found) {
					$u = unlink($base_dir.'/'.'thumbs'.'/'.$file);
				}
			}
	}
	closedir($dhd);
	}
}

function createThumb($base_dir, $file, $w, $h) {
	global $thumb_w, $thumb_h, $thumb_q;
	$path = $base_dir.'/'.$file;
	if (!is_dir($base_dir.'/'.'thumbs')) {
		mkdir($base_dir.'/'.'thumbs', 0777);
	}
	$temp = imagecreatefromjpeg($path);
	$r = $w / $h;
	$thumb_h = intval($thumb_w / $r);
	$small = imagecreatetruecolor($thumb_w, $thumb_h);
  if ($suc = imagecopyresampled($small, $temp, 0, 0, 0, 0, $thumb_w, $thumb_h, $w, $h)) {
  	$result = imagejpeg($small, $base_dir.'/thumbs/'.$file, $thumb_q);
	}
	else {
  	$result = false;
	}
	imagedestroy($temp);
	imagedestroy($small);
	if ($result) {
		return 'thumbs/'.$file;
	} 
	else {
		return $file;
	}
}

Thumb($thumb_w = 76,$thumb_h = 90,$thumb_q = 95);
Thumb($thumb_w = 60,$thumb_h = 40,$thumb_q = 95);
Thumb($thumb_w = 750,$thumb_h = 600,$thumb_q = 95);

?>
 
Zuletzt bearbeitet:
Hi

ertmal: Vieln Dnak für die Antworten ich habe nur eine Frage dazu:

Ich verstehe eins nicht... Was bringt mir der Code den du mir gegeben hast? soweit ich ihn lesen kann ist das eine Funktion die mir in meinem Code die Verzeichnisse 3 mal ändert...?

Das heißt die Verbindung aus deinem Code und meinem Code müsste funktionieren?
Aber wo kommt mein Code hin? Und... muss ich was in meinem Code ändern (eventuell die Pfade in Variablen tauschen) Und was soll ich in deinem Code änernd genau?
Puhh... tut mir echt leid aber :(

greets green

also jetz bin versteh ich nix mehr was wo einfügen?
 
Zurück