2017-04-13 1 views
0

hinzugefügt werden, wie ein Benutzer-ID ($_POST['pk']) am Anfang des Dateinamens, wenn ich ein Bild auf den Server mit der folgenden Funktion update_customer() hochladen. Hiermit kann ich leicht die richtigen Dateien eines bestimmten Benutzers finden.Wie Benutzer_id am Anfang des Dateinamens beim Hochladen auf Server

Ergebnis sollte sein:

filename = $ _POST [ 'pk'] .'-‘. $ _ POST [ 'name']

function update_customer() { 

if(isset($_POST['name']) && isset($_POST['pk'])) { 

    //print_r($_FILES['image']);exit; 
    $filename = ''; 
    if(isset($_FILES['image']) && $_FILES['image']['tmp_name'] && $_FILES['image']['error'] == 0) { 
     $filename = $_FILES['image']['name']; 

     $upload_dir = $_SERVER['DOCUMENT_ROOT'].'/wp-content/uploads/agent_company_logos/'; 
     $wp_filetype = wp_check_filetype_and_ext($_FILES['image']['tmp_name'], $_FILES['image']['name']); 

     if($wp_filetype['proper_filename']) 
     $_FILES['image']['name'] = $wp_filetype['proper_filename']; 

     if ((!$wp_filetype['type'] || !$wp_filetype['ext'])) { 
     $arrErrors['file'] = __('File type not allowed', 'agent-plugin'); 
     } 
     else { 

     move_uploaded_file($_FILES['image']['tmp_name'], $upload_dir.$_FILES['image']['name']); 
     } 

     if(!empty($arrErrors) && count($arrErrors) == 0) { 
     die (json_encode(array('file' => agent_get_user_file_path($_FILES['image']['name']), 'caption' => '', 'status' => 1))); 
     } 

     //echo $_FILES['image']['name']; 

} 
    $updated = $GLOBALS['wpdb']->update($GLOBALS['wpdb']->prefix.'agent_customer', array('company_logo' => $filename), array('user_id' => $_POST['pk']));      
    $dir = wp_upload_dir();    
    echo $dir['baseurl'] . '/agent_company_logos/'.$filename; exit(0); 

} 
echo 0; 
die(); 
} 
+2

Sie können die Verkettung durchführen, wenn Sie 'move_uploaded_file()' –

+2

Haben Sie nicht nur Ihre eigene Frage beantwortet? – RiggsFolly

+2

'move_uploaded_file ($ _DATEIEN ['image'] ['tmp_name'], $ upload_dir. $ _ POST ['pk'] .'- '. $ _ POST [' name ']);' um das blutende offensichtlich anzugeben – RiggsFolly

Antwort

-2

können Sie

verwenden
$basname = $_POST['pk'].basename($file); 
Verwandte Themen