Zurück   Flashforum > Flash und Server > Server-Seite allgemein

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-07-2007, 15:30   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Ort: St. Johann / Pg.
Beiträge: 42
Question php -> verständnisfrage zu tempname()

Hi zusammen!

In meinem upload-Skript (PHP-Version 4.4.4) erstelle ich mit tempnam() einen eindeutigen Dateinamen.

Auszug:

PHP-Code:
// <-...
// erzeuge Dateinamen bzw. wird Datei (zB ->  "tmpDIER09") angelegt
$file_name tempnam($dir"tmp");
// Speichern der Datei -> hier "tmpDIER09.jpg"
move_uploaded_file ($bild$file_name ".jpg");
// lösche "tmpDIER09"
unlink($file_name);
// ... -> 
Jetzt zu meiner Frage:

Wie checkt tempnam() die bereits gespeicherten Dateien? Wäre es theoretisch möglich, dass bei einem neuerlichen Upload ...
PHP-Code:
$file_name tempnam($dir"tmp"); 
.. eine weitere Datei mit dem Namen "tmpDIER09" erstellt, weil im Verzeichnis nur "tmpDIER09.jpg" vorhanden ist und ich zuvor "tmpDIER09" gelöscht habe?

Besten Dank im Voraus

Joker
joker11 ist offline   Mit Zitat antworten
Alt 06-07-2007, 15:41   #2 (permalink)
schnarchnase
 
Registriert seit: Jan 2002
Ort: konstanz
Beiträge: 2.953
unwahrscheinlich, kann aber durchaus passieren. tempnam() ist für deinen zweck die falsche funktion.
http://www.php.net/uniqid

... erzeugt einen garantiert eindeutigen bezeichner.

PHP-Code:
$filename sprintf('%s/%s.jpg'$directoryNamesha1(uniqid(rand(), true))); 
grüße
axo
__________________

perlen vor die säue.
rechtschreibfan ist offline   Mit Zitat antworten
Alt 06-07-2007, 16:15   #3 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
alernativ auch einfach md5(time()).".jpg"
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 06-07-2007, 18:30   #4 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
Zitat:
Zitat von Nightflyer Beitrag anzeigen
alernativ auch einfach md5(time()).".jpg"
Es ist nicht unwahrscheinlich das zwei Prozesse zur gleichen zeit speichern
wollen. Ein rand() wäre minimum, aber uniqid() macht das wohl alles bischen
besser und einfacher.
__________________
elias ist offline   Mit Zitat antworten
Alt 06-07-2007, 18:57   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Ort: St. Johann / Pg.
Beiträge: 42
Besten Dank für die Antworten. Ich wünsche euch noch ein schönes WE.

Joker
joker11 ist offline   Mit Zitat antworten
Alt 01-08-2007, 12:18   #6 (permalink)
wuschelkopp
 
Registriert seit: Aug 2004
Beiträge: 1.468
Zitat:
Zitat von elias Beitrag anzeigen
Es ist nicht unwahrscheinlich das zwei Prozesse zur gleichen zeit speichern
wollen. Ein rand() wäre minimum, aber uniqid() macht das wohl alles bischen
besser und einfacher.
Und was ist mit sowas wie md5(microtime() . getmypid()); ? ^^
__________________
listening to techno & minimal :>

Geändert von firstlord18 (01-08-2007 um 12:29 Uhr)
firstlord18 ist offline   Mit Zitat antworten
Alt 01-08-2007, 19:03   #7 (permalink)
exestiert hier nicht
 
Registriert seit: Jun 2002
Ort: Osnabrück
Beiträge: 1.728
Zitat:
Zitat von firstlord18 Beitrag anzeigen
Und was ist mit sowas wie md5(microtime() . getmypid()); ? ^^
Über treib ruhig weiter :-) Ich finde man sollte das an Befehlen nutzen was einem gegeben ist, anstatt alles zusammen zu fuschen.
__________________
<? if(!$success){ $try++; } ?>
~Es ist so grausam, dass der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~

Werbung:
- Ajax File Manager ( KFM - Kae's File Manager )
Funkey ist offline   Mit Zitat antworten
Alt 03-08-2007, 09:56   #8 (permalink)
schnarchnase
 
Registriert seit: Jan 2002
Ort: konstanz
Beiträge: 2.953
Zitat:
Zitat von firstlord18 Beitrag anzeigen
Und was ist mit sowas wie md5(microtime() . getmypid()); ? ^^
Zitat:
Zitat von http://www.php.net/getmypid
warning:

Process IDs are not unique, thus they are a weak entropy source. We recommend against relying on pids in security-dependent contexts.
nc
__________________

perlen vor die säue.
rechtschreibfan ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 12:45 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele