[ Ayuda ] Bajar archivos Remotos PHP

  • Autor Autor Mariquena
  • Fecha de inicio Fecha de inicio
M

Mariquena

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
hola que tal saludos gente
paso por aqui para pedirles algo de ayudita
estoy comenzando con una web de jueguitos flash haber que tal me va, mi inter es lento asi que bajarlos a mi pc y subirlos es una odisea, por eso quiero extraerlos directamente al servidor.
estuve varios dias buscando un plugin o un codigo pero no encontre mucho, lo maximo que logre fue encontrar informacion en esta pagina http://www.forosdelweb.com/wiki/PHP:_file_get_contents%28%29,_cURL,_HTTP_Request
y logre crear esto

PHP:
 <?php 
/* obtengo la url de un juego flash por un formulario via POST */
$enlace = $_POST['url'] ;
/* no me acuerdo que esto xD */
$url = "$enlace"; 
/* esto tampoco  */
$g=basename($url); 
/* supongo que con esto obtengo el juego de forma remota */
$content = file_get_contents($url); file_put_contents($g,$content);
$ruta = "$content";
$file = basename($ruta);

/* me muestra la url del juego */
 echo "http://miweb.com/games/$g" ; ?>
hasta el momento funciona bien, le colocolo una url de algun juego flash alojado en otro sitio y lo guarda en el servidor
mi unico problema es que solo lo guarda en donde se ejecuta el formulario
en mi caso es la carpeta miweb.com/games
y en donde necesito la ayuda es que me indiquen que tengo que añadirle al codigo para poder guardarlo en otra carpeta
para ser mas especifica en miweb.com/wp-content/uploads/swf/
apenas ando aprendiendo php y esto de las webs y lo unico que hago realmente es buscar en google y copiar y pegar los codigos de los tutoriales y modificarlos con lo poco que aprendo, pero en este caso no logro encontrar nada en google o quizas no se buscar muy bien

espero me puedan ayudar chicos, de paso espero el codigo les sirva a todos, a mi me ayuda mucho para ahorrar tiempo
un saludo a todos desde argentina :love_heart:
 
Intentaste poniendo en ruta
PHP:
$ruta = "../wp-content/uploads/swf/";
 
Última edición:
Intentaste poniendo en ruta
PHP:
$ruta = "../wp-content/uploads/swf/";

ya lo coloque como me has dicho pero se sigue guardado en el mismo lugar
Puede cURL para descargarlo
y eso como funciona ? el codigo que tengo lo descarga , solo que no se que añadirle para cambiar la ruta donde se guarda el juego :sorrow:
 
Mejor busca la documentacion de file_put_contents()
 
ya lo consegui !!!!

el codigo final quedaria de este modo
PHP:
<?php 
$enlace = $_POST['url'] ;
$url = "$enlace"; 
$g=basename($url); 
$dir_to_save = "../wp-content/uploads/swf/";
if (!is_dir($dir_to_save)) {
  mkdir($dir_to_save);
}
file_put_contents($dir_to_save."$g",file_get_contents("$enlace"));


 echo "http://miweb.com/wp-content/uploads/swf/$g" ;

 ?>

gracias a los que me ayudaron y a esta web que me dio la idea php - Save file with file_put_contents in folder - Stack Overflow :love_heart:
 
así sería correcto:

PHP:
<?php  
// carpeta donde guardaremos
$ruta = 'descargas/';
/* obtengo la url de un juego flash por un formulario via POST */ 
$url = $_POST['url'] ;  
// obtenemos el nombre
$nombre=basename($url);
// obtenemos el archivo desde la $url
$archivo = file_get_contents($url); 
// guardamos el archivo en la $ruta,
file_put_contents($ruta.$nombre,$archivo); 
/* me muestra la url del juego */ 
 echo 'http://miweb.com/'.$ruta.$nombre ; 
?>
 
Seria mas correcto usar la funcion isset() para la variable $_POST
 
Seria mas correcto usar la funcion isset() para la variable $_POST

si es verdad no me había dado cuenta

PHP:
$url = isset($_POST['url']) ? $_POST['url'] : false;

puedes luego verificar si url es diferente de falso, o no hacer nada.

o también puedes quitar el operador ternario y poner un if que en caso de no existir tire error.

te lo dejo a gusto Mariquena.

saludos!
 
Última edición:
Atrás
Arriba