Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

[gelöst] Eigener Userpicture Upload

Eingetragen von kev52 (423)
am 04.07.2009 - 10:39 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi

ich baue mir gerade eine Seite die nur das Userbild hochläd. Das löschen funzt sauber aber der Upload leider nicht. file_upload_save funktioniert einfach nicht und ich bin echt am Ende mit meinem Latein. Hier mal der Code:

<?php
function user_extension_picture_upload_form($form_state, $account) {
  
   
$form = array();
   
   
$form['user'] = array(
     
'#type' => 'value',
     
'#value' => $account,
     );
   
   
// Picture/avatar:
   
if (variable_get('user_pictures', 0))
    {
       
$form['picture'] = array ('#type'=>'fieldset', '#title'=>t('Picture'), '#weight'=>-1);
       
        if (
$account->picture)
        {
           
$form['picture']['current_picture'] = array ('#value'=>theme('user_picture', $account));
           
$form['picture']['picture_delete'] = array ('#type'=>'checkbox', '#title'=>t('Delete picture'), '#description'=>t('Check this box to delete your current picture.'));
        }
        else
        {
           
$form['picture']['picture_delete'] = array ('#type'=>'hidden');
        }
       
$form['picture']['picture_upload'] = array ('#type'=>'file', '#title'=>t('Upload picture'), '#size'=>48, '#description'=>t('Your virtual face or picture. Maximum dimensions are %dimensions and the maximum size is %size kB.', array ('%dimensions'=>variable_get('user_picture_dimensions', '85x85'), '%size'=>variable_get('user_picture_file_size', '30'))).' '.variable_get('user_picture_guidelines', ''));
       
$form['#validate'][] = 'user_extension_validate_picture';
    }
   
   
$form['submit'] = array(
         
'#type' => 'submit',
         
'#value' => t('Save picture')
         );
   
    return
$form;
}

function
user_extension_validate_picture(&$form, &$form_state) {
 
 
$form_values = $form_state['values'];
 
$account = $form_values['user'];
 
 
// If required, validate the uploaded picture.
 
 
$validators = array(
   
'file_validate_is_image' => array(),
   
'file_validate_image_resolution' => array(variable_get('user_picture_dimensions', '85x85')),
   
'file_validate_size' => array(variable_get('user_picture_file_size', '30') * 1024),
  );
  if (
$file = file_save_upload('picture_upload', $validators)) {
   
   
// Remove the old picture.
   
if (isset($account->picture) && file_exists($account->picture)) {
     
file_delete($account->picture);
    }

   
// The image was saved using file_save_upload() and was added to the
    // files table as a temporary file. We'll make a copy and let the garbage
    // collector delete the original upload.
   
$info = image_get_info($file->filepath);
   
$destination = variable_get('user_picture_path', 'pictures') .'/picture-'. $account->uid .'.'. $info['extension'];
    if (
file_copy($file, $destination, FILE_EXISTS_REPLACE)) {
     
$form_values['picture'] = $file->filepath;
    }
    else {
     
form_set_error('picture_upload', t("Failed to upload the picture image; the %directory directory doesn't exist or is not writable.", array('%directory' => variable_get('user_picture_path', 'pictures'))));
    }
  }
}
?>

Für die if-Abfrage gibt es einfach kein TRUE - jemand eine Idee?

‹ Drupal Entwicklerhandbuch Kapitel 2 Löschen von Nodes verhindern bei Bedingung ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

enctype = "multipart/form-data" fehlt

Eingetragen von traxer (1009)
am 04.07.2009 - 11:40 Uhr

<?php
$form
['#attributes']['enctype'] = 'multipart/form-data';
?>
fehlt in deiner Formulardefinition. Das musst du immer hinzufügen wenn du Dateiupload-Felder in ein Formular einbaust.

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

super, dass klappt ;o) man

Eingetragen von kev52 (423)
am 04.07.2009 - 13:32 Uhr

super, dass klappt ;o) man man was für ein Akt

http://www.deafvision.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • gepatchte PHP Version 7.4 für Windows
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
Weiter

Neue Kommentare

  • Muss ja nicht genau php 8.3 sein
    vor 4 Tagen 5 Stunden
  • Guten morgen und Danke
    vor 4 Tagen 11 Stunden
  • Evtl. versuchen auf PHP 8 zu wechseln
    vor 4 Tagen 18 Stunden
  • Danke Schmittrich. Die Frage
    vor 6 Tagen 9 Stunden
  • Keine Antwort auf die Frage nach dem Woher
    vor 6 Tagen 12 Stunden
  • Danke ich werde mir die
    vor 6 Wochen 4 Tagen
  • Vielen Dank für Ihren
    vor 6 Wochen 6 Tagen
  • Composer ist sehr ratsam
    vor 7 Wochen 1 Tag
  • Vielen Dank für den
    vor 7 Wochen 4 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 7 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250323
Registrierte User: 20572

Neue User:

  • alxshell
  • AnthonyhoF
  • Philiphelve

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 6 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association