Ich versuche, Datei-Uploads zu behandeln, und jetzt stehe ich vor einem Dilemma. Ich habe zwei Optionen, die ich denke, tatsächlich über die Verwendung beim Umgang mit Dateinamen:Wie man Datei-Upload-Name behandelt
Option 1:
move_uploaded_file($_FILES['pdf']['tmp_name'], sprintf('./uploads/%s.%s', sha1_file($_FILES['pdf']['tmp_name']),$ext
Option 2:
move_uploaded_file($_FILES['pdf']['tmp_name'], sprintf('./uploads/%s.%s', "name_$date", $ext
Zuerst wird Hash mit sha1_file erzeugen, die nicht sieht schön (und ich würde gerne den hochgeladenen Dateinamen von der DB bekommen und auf der Seite anzeigen), verhindert aber mehrere gleiche Datei-Uploads.
Zweite bekommt eine gut aussehende Dateinamen, aber keine Duplikate verhindern (file_exists
scheint Duplikat zu erkennen, aber ich konnte nicht aufhören move_upload_file
)
Was würden Sie mir empfehlen, ohne Datei-Upload schön Dateinamen zu tun bekommen Duplikate?
Ich dachte über das Verschieben der sha1-Datei und auf diese Weise umbenennen, aber ich weiß nicht, ob ich den gleichen Hash auf diese Weise erhalten kann, um die Datei zu verschieben? – korni
Ich verstehe nicht, was Sie sagen. Sie müssen: 1. den Hash aus der Datei holen 2. ein temporäres Verzeichnis mit dem Namen des Hashs erstellen 3. die hochgeladene Datei mit ihrem ursprünglichen Namen in dieses Verzeichnis verschieben. Was ist los mit dieser Lösung? –
Das Problem ist, ich kann den Hash nicht auf Variable bringen. Wenn Sie wissen, wie Sie nur den Hash erhalten, lassen Sie es mich wissen. – korni