Natcasesort Fehler

  • #1
W

Warlock0

Bekanntes Mitglied
Themenersteller
Dabei seit
16.12.2005
Beiträge
64
Reaktionspunkte
0
So, ich hab wieder mal ein Problem mit einer meiner PHP Dateien. Die Datei sollt bei Ausführung in den Ordnerstrukturen eines Users nach Daten suchen, und sich die Anzahl merken.Danach soll es ein Command-Line Tool ausführen das einen Screenshot einer anderen HP macht - gespeichert unter dem Dateinamen nummeriert aufgrund der ermittelten Dateienanzahl. Das Programm erstellt auch ein bild am richtigen ort in der richtigen Größe und Format, allerdings ist Seite nicht gefunden drauf, und der Firefox gibt mir:

Warning: natcasesort() [function.natcasesort]: The argument should be an array in C:\wamp\www\OPS\SaveScetchboardpic.php on line 32 (das ist die zeile mit natcasesort)

Warning: array_pop() [function.array-pop]: The argument should be an array in C:\wamp\www\OPS\SaveScetchboardpic.php on line 33

Der Code der Datei ist:
Code:
<?php session_start();

	ERROR_REPORTING(E_ALL);
	
			/*
		File:  SaveScetchboardpic.php
		Date:  7.03.2006 Gregor Urabl
		Content: Erstellung und Speicherung von Bildern der Scetchboards
		
		*/
	
	$Scetchfinal = $_SESSION[scetchboard]; //[url]http://www.stromberg.at;[/url]
	$Username 	 = $_SESSION[nick];				//username
	$Link 		 = $_POST[Scetchboardfinal];
	
	$Filecounter = 1;

							
			 $dir = Userdata/.$Username./Folien/;
			 $name = Folie;
			 $extension = \.jpeg; # Punkt muss maskiert werden

				if($fh = @opendir($dir)) 
					{
					while($file = readdir($fh)) 
							{
						if(!ereg($name.[0-9]+.$extension, $file)) continue;
							$arr[] = $file;
							}
					}

			natcasesort($arr); # Array sortieren
			$max_file = array_pop($arr); # letzes Array-Teil
			$nr = ereg_replace($name,,$max_file);
			$nr = ereg_replace($extension,,$nr);
			$nr = $nr + 1;
			
							
	$FileLocation = Userdata/.$Username./Folien/Folie.$nr..jpeg;
	$FileLocationThumb = Userdata/.$Username./Folien/Thumb/Folie.$nr..jpeg;
			
				// Erstellen des Screenshots

			chmod (url2bmp.exe, 0777);
			chmod (SaveScetchboardpic.php, 0777);
			$Command = url2bmp.exe -url .$Scetchfinal. -format jpeg -file .$FileLocation. -wx 739 -wy 576 -bx 739 -by 576 -maximize -wait 0 -notinteractive -removesb; 	
			passthru($Command );
			$Commandthumb = url2bmp.exe -url .$Scetchfinal. -format jpeg -file .$FileLocationThumb. -wx 739 -wy 576 -bx 379 -by 288 -maximize -wait 0 -notinteractive -removesb; 	
			passthru($Command );
									
?>
<HTML>
	<HEAD>
		<title>BTV Powerpoint Online Scetchboardpiccreator</title>
		<link rel=stylesheet type=text/css href=formate.css>
		<meta name=description content=Eine Adaption des Programms Power Point für den Onlinegebrauch >
		<meta name=keywords Content=BTV,Powerpoint,PowerpointOnline,HTL,Maturaprojektl>
	</HEAD>
	<BODY bgcolor=#FFFFFF>
	
			<h1>Schritt 6 - Fertig</h1><hr>
			<div align=CENTER>
			<br /><br /><br />
			<p> Ihre Folie wurde erfolgreich verarbeitet und gespeichert. Bitte klicken sie hier um zum Hauptmenü zurückzukehren.</p>
			
				  <button name=Scetchboardsaved type=button
 			 		value=Saved onClick=self.location.href='ScetchboardOrPresentation.html'>
 					<p>Zurück zum Hauptmenü</p>
					</button>
			
			</div>
					
	</BODY>
</HTML>

Und hier gibts das Tool:
 
  • #2
The argument should be an array

Da ist kein Array das er verarbeiten kann ;)

Sicher das im angegebenen Verzeichnis auch Dateien sind die in das Array aufgenommen werden sollen ?? ??? ??

Evtl. mal die Dateien die gefunden werden per Echo ausgeben ;)

z.B. ab Zeile 25
Code:
<?php
.....
while($file = readdir($fh)) {
  
  echo $file.<br />;
  
  if(!ereg($name.[0-9]+.$extension, $file)) continue;
  $arr[] = $file;
}
.....
?>
 
  • #3
Hmm....daran lags anscheinend nicht, er hat eine Folie1.jpg erstellt , auf der nun endlich richtige Shots - das Tool mochte keine relativen Pfade. Nummerierung läuft allerdings nicht.Mit deiner Echo Modifikation schreib er das raus:

.
..
Folie1.jpg

Warning: natcasesort() [function.natcasesort]: The argument should be an array in C:\wamp\www\OPS\SaveScetchboardpic.php on line 34

Warning: array_pop() [function.array-pop]: The argument should be an array in C:\wamp\www\OPS\SaveScetchboardpic.php on line 35


Interessanterweise erstellt er aber garkeine pics mehr, sondern überschreibt nur das erste..............

EDIT: habs jetzt selbst gefixt, er nummeriert auch richtig, allerdings ist am bild immer noch was falsches drauf: Er scahffts anscheinend nicht die Variablen zu interpretieren bevor der Shot gemacht wird, dementsprechend sind nur statische inhalte drauf....ne idee wie ich das umgehe?
 
Thema:

Natcasesort Fehler

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.843
Beiträge
707.974
Mitglieder
51.495
Neuestes Mitglied
robertr
Oben