2017-05-21 3 views
-2

Ich erstellte eine Seite, die Datei in meine Datenbank hochladen kann, aber wenn ein Dateiname (.) Hat, speichert es nicht ordnungsgemäß. Zum Beispiel lade ich eine Datei mit dem Namen imagefile.50.jpg, spart ebenso image20.50Erweiterung in PHP-Datei

<?php 

function upload_image() 
{ 
    if(isset($_FILES["user_image"])) 
    { 
     $extension = explode('.', $_FILES['user_image']['name']); 
     $new_name = $extension[0] . '.' . $extension[1]; 
     $destination = './upload/' . $new_name; 
     move_uploaded_file($_FILES['user_image']['tmp_name'], $destination); 
     return $new_name; 
    } 
} 

Antwort

2

Um die filename und extension eine Datei zu erhalten, Sie pathinfo verwenden können, das heißt:

$file = "some_dir/somefile.test.php"; # $_FILES['user_image']['name'] 
$path_parts = pathinfo($file); 
$fn = $path_parts['filename']; 
$ext = $path_parts['extension']; 
print $fn."\n"; 
print $ext; 

Ausgang:

somefile.test 
php 
+0

meine Datei ordnungsgemäß hochgeladen wird, ich will es nur noch die Dateinamen laden hat, sollte es hochladen, aber werden nicht andere erkennen als die letzte Erweiterung – Jayar

+0

(.) (.) Ich folge dir ehrlich nicht. –

+0

Ok, ich habe ein Upload-Skript https://pastebin.com/AGV0zBPt, das die Datei in meine Datenbank hochlädt, aber jedes Mal, wenn ein Dateiname einen Punkt (.) Hat, wird er als Erweiterung erkannt. Zum Beispiel habe ich eine Datei bildname2.1.jpg, wenn ich es hochladen, wird es Bildname2.1 ohne Erweiterung jpg. – Jayar