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 ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 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 Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 29.06.2009, 14:17:13
Auf der Mauer Auf der Mauer ist offline
Anfänger
 
Registriert seit: Jun 2009
Alter: 41
Beiträge: 119
Ausgabe kürzen

Hallo,

ich bekomme bei folgendem Code den ganzen Ordnerinhalt angezeigt. Was muss ich machen damit nur die zuletzt hochgeladene Datei mit dem Vermerk "Erfolgreich hochgeladen" angezeigt wird?

PHP-Code:
$dp = @opendir($Speicherort);
if (
$dp === FALSE)
{
    
mkdir('upload');
    
$dp opendir($Speicherort);
}
while (
$file readdir($dp))
{
  if (!
preg_match('/^\.{1,2}/'$file))
  {
   echo 
$file;
   echo 
' (' filesize("upload/$file") . ' Byte) - Erfolgreich hochgeladen!';
   echo 
'<br>';
   echo 
'<hr noshade size="2">';
}

Die Ausgabe sieht momentan so aus. (Genau so möchte ich es auch haben.)

P025161.jpg (150 kb) - Erfolgreich hochgeladen!
----------------------------------------------------------

Wenn ich allerdings noch eine Datei hochlade, dann taucht diese unter dem Strich auf usw. Das wird schnell unübersichtlich und zu lang. Daher habe ich auch schon versucht es irgendwie aus der Schleife herauszunehmen, hat aber auch icht geklappt, da fehlten dann die Angaben zu der Datei. (Name & Größe)

Ich hoffe mir kann hier jemand helfen.

Gruß
René
Mit Zitat antworten
  #2  
Alt 29.06.2009, 14:50:36
Benutzerbild von rarios
rarios rarios ist offline
Member
 
Registriert seit: Jun 2006
Beiträge: 655
AW: Ausgabe kürzen

Du könntest z.B. die Zahl der Uploads als POST übertragen, dann per for-schleife bis zur letzten zahl nichts ausgeben, und bei dem letzten upload dann "Erfolgreich hochgeladen" ausgeben.
__________________
Liebe Grüße
Mit Zitat antworten
  #3  
Alt 29.06.2009, 15:33:30
Auf der Mauer Auf der Mauer ist offline
Anfänger
 
Registriert seit: Jun 2009
Alter: 41
Beiträge: 119
AW: Ausgabe kürzen

Hallo Florian,

vielen Dank für deine Antwort, wenngleich mir noch nicht klar ist was du meinst.
Ließe sich nicht an der folgenden Stelle bestimmen wieviel ausgegeben wird?

PHP-Code:
}
while (
$file readdir($dp))
{
  if (!
preg_match('/^\.{1,2}/'$file))
  { 
Der Witz an dem Script ist doch das es ordnungsgemäß funktioniert und genau das macht was es soll. Warum hier allerdings sämtliche Dateien aus dem Uploadordner aufgelistet werden erschließt sich mir nicht da es für die Übersichtlichkeit nicht gerade förderlich ist.

Gruß
René
Mit Zitat antworten
  #4  
Alt 29.06.2009, 16:36:06
Benutzerbild von rarios
rarios rarios ist offline
Member
 
Registriert seit: Jun 2006
Beiträge: 655
AW: Ausgabe kürzen

ist der quellcode in deinem 1. beitrag auch komplett?

Was möchtest Du genau?
Wird eine Datei hochgeladen und dann angezeigt, dass sie hochgeladen wurde?
Wozu willst Du den Ordner ausgeben?
Soll einfach nur die zuletzt hochgeladene Datei angezeigt werden, unabhängig davon, ob sie gerade hochgeladen wurde oder vor 2 Tagen?

Letzteres kannst Du wohl nur mit einem Protokoll lösen.
Also Textdateien oder MySQL z.B. ...
__________________
Liebe Grüße
Mit Zitat antworten
  #5  
Alt 29.06.2009, 17:34:06
Auf der Mauer Auf der Mauer ist offline
Anfänger
 
Registriert seit: Jun 2009
Alter: 41
Beiträge: 119
AW: Ausgabe kürzen

Hallo Florian,

Nein der Quellcode im ersten Posting war nicht komplett. Ich habe nur die Stelle um die es geht ausgeschnitten.

Das Script sieht vor das nach dem erfolgreichen Hochladen eines Bildes der Dateiname und die Dateigröße angezeigt wird. Ich habe dort noch ein "Erfolgreich hochgeladen!" hintergesetzt. Bei dem ersten File war es ja auch noch in Ordnung, allerdings wenn ich weitere Dateien hochlade werden auch diese als erfolgreich hoch geladen angezeigt.

Eigentlich möchte ich das hier nur eine Datei mit Erfolgsmeldung steht und zwar jene welche als letztes hochgeladen wurde.

Notfalls, wenn es zu kompliziert ist nehme ich den Teil aus dem Script raus. Dann weiß ich aber nicht ob das hochladen funktioniert hat.

Ich möchte sowieso während des hochladens den Dateinamen ändern, dafür habe ich mir schon etwas geschrieben. Die Erstellung eines neuen Dateinamens geht jetzt schon voll automatisch. Ich kämpfe momentan aber mit der "rename" Funktion, auch das will nicht so wie ich will. Und der Pfad zum eigentlichen Bildordner stimmt auch noch nicht. Er will immer nur bis zu dem Ordner in dem auch die PHP Datei liegt, der Bilderordner liegt aber in einem anderen Ordner auf dem Webspace.

/users/Name/www/Administration/upload/

müste aber sein:

/users/Name/www/Bilder/

Da soll später auch noch eine Funktion rein, das von dem hochgeladenen Bild automatisch ein Thumbnail erstellt und abgespeichert wird. Ich denke das kriege ich aber mit Ausdauer und Glück irgendwie hin. Ich maches es einfach Stück für Stück und erfreue mich an dem was schon funktioniert.

Hier ist mal der gesamte Quelltext. Vielleicht ist es dann etwas einfacher zu verstehen.

PHP-Code:
<p style='font-size:10px;font-family:verdana'><b>DIE 3 ZULETZT HOCHGELADENEN BILDER</b></p>

<table>
<table align ="left" width="50% bgcolor="#DFDFDF" bordercolor="#DFDFDF" style="font-family:Verdana, Arial, serif; font-size:10px">

<?php

  mysql_connect
("localhost",
  
"Name","Passwort") or die
  (
"Keine Verbindung moeglich");
  
mysql_select_db("Datenbank") or die
  (
"Die Datenbank existiert nicht");

    
$abfrage "SELECT * FROM Tabelle ORDER BY Erstellt DESC LIMIT 3";
    
$ergebnis mysql_query($abfrage);
    while(
$row mysql_fetch_object($ergebnis))
       {

echo 
"<td><a href='$row->Bilderlink' target='pic_haupt'><img src='$row->Thumb' width=58 height=57 border=0 ><br><br><img src=' enlarge.gif' border='0'></a><br></td>";
}
mysql_free_result($ergebnis);
?>
</table>

<?php

//Ermittlung der nächsten ID (6) und des neuen Dateinamens  (Bild6.jpg)

  
$abfrage "SELECT * FROM Tabelle ORDER BY ID DESC LIMIT 1";
  
$ergebnis mysql_query($abfrage);
  while(
$row mysql_fetch_object($ergebnis))
 
  
$NeueID $row->ID+1;
  
$NeuerDateiName "Bild$NeueID.jpg";

//Ausgabe der Ergebnisse zur Überprüfung (Kann später rausgenommen werden)

echo "<br><br><br><br><br><p style='font-size:10px;font-family:verdana'><b>Die nächste ID lautet: </b>[$NeueID]";
echo 
"<br><b>Der neue Dateiname ist:</b> $NeuerDateiName </p>";

//Speicherort für hochgeladenes Bild finden (Kann wenn der richtige Pfad gefunden wurde gelöscht werden!)

$Speicherort dirname($_SERVER['SCRIPT_FILENAME']) . '/upload/';

echo 
"<p style='font-size:10px;font-family:verdana'><br><b>DER SPEICHERPFAD LAUTET:</b><br> $Speicherort</p>";

if (isset(
$_POST['upload']))
{
  if (
$_FILES['userfile']['size'] > 0)
  {
      echo 
'<br /><p style=\"color:#000000;font-size:10px;font-family:verdana;\"><b>Informationen zur aktuellen Datei:</b><br><br>';
      echo 
"<b>Dateiname: </b>"$_FILES['userfile']['name'] . '<br>';
      echo 
"<b>Dateigröße: </b>"$_FILES['userfile']['size'] . ' Byte<br>';
      echo 
"<b>Dateityp: </b>"$_FILES['userfile']['type'] . '<br></p>';

      
move_uploaded_file($_FILES['userfile']['tmp_name'],   
               
"$Speicherort{$_FILES['userfile']['name']}");
    } else {
      echo 
"Keine Datei hochgeladen";
    }
}
$dp = @opendir($Speicherort);
if (
$dp === FALSE)
{
    
mkdir('upload');
    
$dp opendir($Speicherort);
}
while (
$file readdir($dp))
{
  if (!
preg_match('/^\.{1,2}/'$file))
  {
   echo 
$file;
   echo 
' (' filesize("upload/$file") . ' Byte) - Erfolgreich hochgeladen!';

   echo 
'<br>';
   echo 
'<hr noshade size="2">';
}
}
?>
<form method="post" enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>">
<p style='font-size:10px;font-family:verdana'><br><b>Ihre Dateiauswahl:</b></p><input type="file" name="userfile">
<input type="submit" name="upload" value="Hochladen">
</form>
Gruß
René

Geändert von Auf der Mauer (29.06.2009 um 17:49:29 Uhr)
Mit Zitat antworten
  #6  
Alt 30.06.2009, 14:43:30
Auf der Mauer Auf der Mauer ist offline
Anfänger
 
Registriert seit: Jun 2009
Alter: 41
Beiträge: 119
AW: Ausgabe kürzen

Hallo,

das mit der Erfolgsausgabe hat geklappt. Es funktioniert und sieht richtig gut aus.

Nach dem Hochladen des Files werden ja die Daten zu der Datei angezeigt.

>> NAME
>> GRÖSSE
>> TYP

Darunter steht jetzt in grüner Schrift "Dateiupload erfolgreich!".

Andernfalls wenn der Upload nicht erfolgreich war werden die Daten nicht ausgegben
stattdessen wird else ausgegeben. "Dateiupload fehlgeschlagen!".

Gruß
René
Mit Zitat antworten
  #7  
Alt 02.07.2009, 09:16:22
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 46
Beiträge: 1.938
AW: Ausgabe kürzen

richte bitte für jedes neue thema / frage einen eigenen thread (im passenden forum) ein.

[mod: verschoben nach Bildausschnitt aus einem großen Bild ]

cx
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
Ausgabe mit ORDER BY passt nicht... mayer MySQLi/PDO_MySQL 5 03.07.2006 01:39:08
Problem mit dem Skript zur AUsgabe des aktuellen Tages selbstlerner PHP Grundlagen 6 05.04.2006 16:32:07
Ausgabe auf mehreren Seiten. Nicht Link zu jeder Seite, sondern mit [...] arbeiten? DieMilchMachts PHP Grundlagen 0 14.11.2005 21:45:44
bestimmte html ausgabe joker PHP Grundlagen 2 15.11.2004 22:37:56
Ausgabe eines echo befehls? Funjoy PHP Grundlagen 2 15.07.2003 14:35:34


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:42:52 Uhr.


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


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