• Buenos dias
    soy novato en publicar aqui…
    he creado un widget en el escritorio del backend que te deja subir un archivo que seleciones de tu equipo a un servidor ftp externo, pero el problema es que a veces me lo ejecuta bien y varias me crea el fichero en ese servidor pero con 0KB, y me acaba dando un error 500
    en local o fuera de WP me funciona 100%
    gracias de antemano por vuestras sugerencias

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • Moderador jose64

    (@jose64)

    Hola @dsilver23

    Si no tenemos el código para probarlo es imposible que te podamos decir nada. Pon el código para que alguien pueda revisarlo y, por favor, recuerda etiquetar el código correctamente con CODE.

    Iniciador del debate dsilver23

    (@dsilver23)

    perdon si, qui pedo el codigo

    <?php
     /*
     Plugin Name: UNMON - MP3
     Plugin URI:
     Description: Subir MP3 a dominio.com
     Author: unmon informatic
     Version: 1.0
     Author URI: Eduard Sánchez
     */
    
    add_shortcode('subirmp3', 'shortcode_subirmp3');
    
    function shortcode_subirmp3() {
    	ob_start(); 
    	global $wpdb;
    
    	$output = ob_get_clean();
    	return $output;
    }
    ?>
    
    <?php
    //Accion Hook
    add_action('wp_dashboard_setup','dcms_agregar_widget');
    
    //Agregar Widget
    function dcms_agregar_widget(){
    	wp_add_dashboard_widget('Subir MP3','Subir MP3','dcms_mostrar_widget','dcms_configurar_widget');
    }
    
    //Mostrar Widget
    function dcms_mostrar_widget(){
    	echo "Aqui podras subir audios MP3 para poder incrustarlos en las noticias";
    	echo "<br><br>";
    	echo 'upload_max_filesize = ' . ini_get('upload_max_filesize') . "<br>";
    	echo "<br><br>";
    
    	// connect and login data
    	$web = 'ftp.dominio.com';
    	$user = 'usuario@dominio.com';
    	$pass = 'password';
    	// file location
    	$ruta = "/www.dominio.com/audio/noticies/"; 
    	$nombre_archivo = $ruta.$_FILES["nombre_1"]["name"];
    	$ruta = "/www.dominio.com/audio/noticies/"; 
    	if ($_POST['Submit'] != "") { 
    		$conn_id = ftp_connect($web);
    		ftp_pasv($conn_id,true);
    		$login_result = ftp_login($conn_id,$user,$pass); 
    		$nombre_archivo = $ruta.$_FILES["nombre_1"]["name"];
    		//echo "nombre archivo: ".$nombre_archivo; 
    		$Local_Resource = $_FILES['nombre_1']['tmp_name'];
    		//echo "archivo local: ".$Local_Resource; 
    		if (ftp_put($conn_id, $nombre_archivo, $Local_Resource, FTP_BINARY)) { 
    			echo "ENLACE AUDIO: <a href='https://dominio.com/audio/noticies/".$_FILES["nombre_1"]["name"]."' target='pruebaaudio'>https://dominio.com/audio/noticies/".$_FILES["nombre_1"]["name"]."</a><br>";
    		} 
    		else 
    		{ 
    			echo "$nombre_archivo error al procesar archivo<br>"; 
    		} 
    		ftp_close($conn_id);
    	} 
    
    	?>
    
    	<br><br>
    	<form id="formulario" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" enctype="multipart/form-data"> 
    		<input name="nombre_1" type="file"> 
    		<input type="Submit" name="Submit" value="Subir Archivo"> 
    	</form>
    	
    <?php
    }
    ?>
    
Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • El debate ‘envio ficheros a servidor externo’ está cerrado a nuevas respuestas.