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

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung 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
Hilfe Community Kalender Heutige Beiträge Suchen

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

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21.10.2005, 16:45:03
alex2911 alex2911 ist offline
Anfänger
 
Registriert seit: Nov 2004
Beiträge: 7
$_FILES[]['tmp_name']

Hi Leute !

Ich suche einen Weg, den $_FILES[]['tmp_name'] einer Datei vor absenden des Upload-Forumlars zu wissen bzw. diesen Namen mit einem Prefix zu versehen (zb: aus: [tmp_name] => C:\WINDOWS\TEMP\php2E3.tmp sowas: [tmp_name] => C:\WINDOWS\TEMP\12345_php2E3.tmp)
Mit Zitat antworten
  #2  
Alt 22.10.2005, 02:02:27
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: $_FILES[]['tmp_name']

Zitat:
Zitat von alex2911
Ich suche einen Weg, den $_FILES[]['tmp_name'] einer Datei vor absenden des Upload-Forumlars zu wissen
PHP kann nicht hellsehen.
Mit Zitat antworten
  #3  
Alt 22.10.2005, 02:39:45
alex2911 alex2911 ist offline
Anfänger
 
Registriert seit: Nov 2004
Beiträge: 7
AW: $_FILES[]['tmp_name']

Zitat:
Zitat von meikel
PHP kann nicht hellsehen.
Das nicht, aber irgendwo wird ja die lezte tmp_name gespeichert da es nach einem Muster abläuft.
Mit Zitat antworten
  #4  
Alt 22.10.2005, 03:50:35
Benutzerbild von Serp
Serp Serp ist offline
Member
 
Registriert seit: Mar 2005
Alter: 39
Beiträge: 579
AW: $_FILES[]['tmp_name']

Wofür zur Hölle brauchst du das denn???
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')

Für 100% sauberen Code.
Mit Zitat antworten
  #5  
Alt 22.10.2005, 04:08:49
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: $_FILES[]['tmp_name']

Zitat:
Zitat von alex2911
Das nicht, aber irgendwo wird ja die lezte tmp_name gespeichert da es nach einem Muster abläuft.
Nein. Der Name ist ein Zufallsstring, den möglicherweise sogar der Apache generiert, weil der das File entgegennimmt und erst danach PHP aufruft, wenn in dem Action URL PHP Tags gefunden werden.
Mit Zitat antworten
  #6  
Alt 22.10.2005, 09:13:52
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: $_FILES[]['tmp_name']

Zitat:
Zitat von Serp
Wofür zur Hölle brauchst du das denn???
ihm scheint arg langweilig zu sein oder er will sich künstlich selbst probleme auferlegen, weil er sonst keine zu haben scheint ;-)
Mit Zitat antworten
  #7  
Alt 23.10.2005, 18:24:45
alex2911 alex2911 ist offline
Anfänger
 
Registriert seit: Nov 2004
Beiträge: 7
AW: $_FILES[]['tmp_name']

Zitat:
Zitat von feuervogel
ihm scheint arg langweilig zu sein oder er will sich künstlich selbst probleme auferlegen, weil er sonst keine zu haben scheint ;-)
Ist wieder nicht wahr ;)

Ich will ein Uploadpopup bauen -- unter Zuhilfenahme von nur einem JS.

Zitat:
Zitat von meikel
Nein. Der Name ist ein Zufallsstring, den möglicherweise sogar der Apache generiert, weil der das File entgegennimmt und erst danach PHP aufruft, wenn in dem Action URL PHP Tags gefunden werden.
Apache vielleicht, aber nicht Zufall. Die temp_namen sind fortlaufend.
Beispiel:
File1: Datei:C:\WINDOWS\TEMP\php11.tmp
File2: Datei:C:\WINDOWS\TEMP\php12.tmp
Es sind jedoch nicht nur zahlen. Irgendwann werden Buchstaben dranngehängt (C:\WINDOWS\TEMP\php2E3.tmp) usw.
Durch Tests ist mir auch aufgefallen dass sich Apache dies anscheinend nicht file-basiert merkt. Es muss also im Speicher sein (durch Neustart des Rechners gehts wieder bei php11.tmp los).

Ich hab natürlich auch versucht, den temp_namen manuell zu beeinflussen:

Code:
$var = preg_replace('/C:\\\\WINDOWS\\\\TEMP\\\\(.*)\\.tmp/s', 'C:\\WINDOWS\\TEMP\\upl_$1.tmp', $_FILES['name']['tmp_name']);
$_FILES['name'] = array('name' => $_FILES['name']['name'],
						'type' => $_FILES['name']['type'],
						'tmp_name' => $var,
						'error' => $_FILES['name']['error'],
						'size' => $_FILES['name']['size']);
Funktioniert auch hervorragend:
Code:
  ["name"]=>
  array(5) refcount(1){
    ["name"]=>
    string(18) "back_header_st.gif" refcount(2)
    ["type"]=>
    string(9) "image/gif" refcount(2)
    ["tmp_name"]=>
    string(29) "C:\WINDOWS\TEMP\upl_php2D.tmp" refcount(2)
    ["error"]=>
    long(0) refcount(2)
    ["size"]=>
    long(7142) refcount(2)
  }
}
Aber es wird kein Bildchen hochgeladen.
Anscheinend hat da php eine Sicherheitsfunktion die dies verhindert.
Der einzige Unterschied bei der Ansicht des generierten Codes und des beenflussten Codes ist refcount(3) (nicht geändert) // refcount(2) (geändert)

So, soweit eine nähere Ausführung dazu.

@ Feuervogel: Nicht jeder macht nur das was er mit Sicherheit auch schafft. Ich bastle an so unmöglichen Sachen in meiner Freizeit ;)
Und trotzdem habe ich nicht genug davon *fg*.
Allgemein code ich schon eine Zeit - hab aber noch nicht 2mal genau das selbe gemacht. Also etwas Phantasie ist immer gefragt - was aber nicht heißen soll dass man gleich zu viel Zeit hat.

So long .
Mit Zitat antworten
  #8  
Alt 23.10.2005, 20:29:47
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: $_FILES[]['tmp_name']

Zitat:
Zitat von alex2911
Ich hab natürlich auch versucht, den temp_namen manuell zu beeinflussen:
Was genau soll das bringen? Dann hast du zwar das $_FILES-Array manipuliert und somit einen Dateinamen nach deinem Geschmack, aber dafür existiert diese Datei natürlich nicht im upload_tmp_dir und kann somit logischerweise auch nicht mehr verschoben werden.
Ehrlich gesagt, habe ich auch immer noch nicht verstanden, was dir das letztendlich bringen soll.

Zitat:
Zitat von alex2911
File1: Datei:C:\WINDOWS\TEMP\php11.tmp
File2: Datei:C:\WINDOWS\TEMP\php12.tmp
Es sind jedoch nicht nur zahlen. Irgendwann werden Buchstaben dranngehängt (C:\WINDOWS\TEMP\php2E3.tmp) usw.
Möglicherweise wird hier dann auf eine hexadezimale Darstellung des Namen zurückgegriffen, um ein fortlaufende Nummerierung auch in großen Zahlenbereichen zugewährleisten. 2E3 wäre dann gleichbedeutend mit 739 im dezimalen Zahlensystem.

Geändert von xabbuh (23.10.2005 um 20:32:24 Uhr)
Mit Zitat antworten
  #9  
Alt 23.10.2005, 20:58:55
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: $_FILES[]['tmp_name']

Zitat:
Zitat von alex2911
Ich will ein Uploadpopup bauen -- unter Zuhilfenahme von nur einem JS.
Na und? Wo liegt das Problem? PHP kriegt den Namen des Tempfiles, welches im Upload_tmp_dir rumliegt, vom Apachen mitgeteilt.

Zitat:
Apache vielleicht, aber nicht Zufall. Die temp_namen sind fortlaufend.
Auf Deiner komischen Kiste vielleicht.
Bei mir steht da sowas:
Code:
php433gxI
phpfGASvY
phpXZQXPH
phpToRSwY
Einfach mal das selbe File mehrfach hochgeladen.

Selbst das Studium des Musters einer Raufasertapete wäre prickelnder als da eine Regelmäßigkeit zu finden.

Geändert von meikel (†) (23.10.2005 um 20:59:29 Uhr)
Mit Zitat antworten
Antwort


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.

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

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:04:41 Uhr.


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


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