Wie würde ich das 10-MB-Limit in diesem Skript auf 5 GB ändern?

Habe das gefunden und es funktioniert, aber ich möchte das 10-MB-Limit auf 5 GB ändern.

$upload_bytes_limit_reached = ( ( $filesize + $upload_bytes ) > ( 1024 * 1024 * 10 ) ); 

 add_filter( 'wp_handle_upload', 'wpse47580_update_upload_stats' ); function wpse47580_update_upload_stats( $args ) { $size = filesize( $args['file'] ); $user_id = get_current_user_id(); $upload_count = get_user_meta( $user_id, 'upload_count', true ); $upload_bytes = get_user_meta( $user_id, 'upload_bytes', true ); update_user_meta( $user_id, 'upload_count', $upload_count + 1 ); update_user_meta( $user_id, 'upload_bytes', $upload_bytes + $size ); } 

Diese function wird ausgeführt, bevor die Datei hochgeladen wird.

 add_filter( 'wp_handle_upload_prefilter', 'wpse47580_check_upload_limits' ); function wpse47580_check_upload_limits( $file ) { $user_id = get_current_user_id(); $upload_count = get_user_meta( $user_id, 'upload_count', true ); $upload_bytes = get_user_meta( $user_id, 'upload_bytes', true ); $filesize = $file['size']; // bytes $upload_bytes_limit_reached = ( ( $filesize + $upload_bytes ) > ( 1024 * 1024 * 10 ) ); $upload_count_limit_reached = ( $upload_count + 1 ) > 100; if ( $upload_count_limit_reached || $upload_bytes_limit_reached ) $file['error'] = 'Upload limit has been reached for this account!'; return $file; } 

Solutions Collecting From Web of "Wie würde ich das 10-MB-Limit in diesem Skript auf 5 GB ändern?"

Sie müssen PHP Upload Limits korrekt einstellen.

Die Berechnung von 5 GB in Bytes würde wie folgt aussehen:

 $5GBinBytes = 1024 * 1024 * 1024 * 5; // or nicer $5GBinBytes = pow( 1024, 3 ) * 5; 

5GB sind eine Menge Daten, die einige Zeit dauern können. Es gibt eine gute Chance, dass Sie processzeitlimits – max_execution_time und max_input_time in den Sinn kommen – und memory_limit .

Laut Kommentar von @swisspidy definiert WordPress die Konstante GB_IN_BYTES , Verwendung:

 $5GBinBytes = GB_IN_BYTES * 5; 

Ich habe es funktioniert. Ich habe die obere Hälfte des Skripts entfernt. Ich weiß nicht, warum es jetzt funktioniert, aber ich habe es getestet und mache, was ich wollte. Danke für Ihre Hilfe und Unterstützung. Der ursprüngliche Thread kann hier für Interessierte gefunden werden.

 add_filter( 'wp_handle_upload_prefilter', 'wpse47580_check_upload_limits' ); function wpse47580_check_upload_limits( $file ) { $user_id = get_current_user_id(); $upload_bytes = get_user_meta( $user_id, 'upload_bytes', true ); $filesize = $file['size']; // bytes $upload_bytes_limit_reached = ( ( $filesize + $upload_bytes ) > ( GB_IN_BYTES * 5 ) ); if ( $upload_bytes_limit_reached ) $file['error'] = 'Upload limit has been reached for this account!'; return $file; }