Foros del Web » Programando para Internet » PHP »

Como subir un archivo por url a carpeta 777

Estas en el tema de Como subir un archivo por url a carpeta 777 en el foro de PHP en Foros del Web. Buenas estoy tratando de subir un archivo por url a mi servidor por ejemplo http://miweb.com/img/ y a la carpeta le di permisos #chmod 777 img ...
  #1 (permalink)  
Antiguo 10/07/2012, 16:18
Avatar de cesar203  
Fecha de Ingreso: enero-2010
Ubicación: LIMA
Mensajes: 27
Antigüedad: 14 años, 10 meses
Puntos: 0
Como subir un archivo por url a carpeta 777

Buenas estoy tratando de subir un archivo por url a mi servidor por ejemplo

http://miweb.com/img/

y a la carpeta le di permisos
#chmod 777 img


ahora quiero subir archivos desde otra pagina web ejemplo

estoy ubicado en la otra web http://miweb2.com/subidas

donde tengo un archivo texto.txt

ahora lo quiero subir a la otra web http://miweb.com/img/

entonces quedaria asi http://miweb.com/img/texto.txt

con un php que es lo que tengo que hacer perdonen mi ignorancia..
  #2 (permalink)  
Antiguo 10/07/2012, 17:44
 
Fecha de Ingreso: diciembre-2009
Ubicación: La Paz - Bolivia
Mensajes: 67
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Como subir un archivo por url a carpeta 777

haber dar permisos a una carpeta en linux...

en terminal:

sudo chmod 777 /carpeta1/carpeta2/archivo.x

prueba ese comando para dar permisos a un archivo o sin el archivo para dar permiso a la carpeta.
__________________
MAS KARMA..............MAS KARMA...................
  #3 (permalink)  
Antiguo 11/07/2012, 08:02
Avatar de cesar203  
Fecha de Ingreso: enero-2010
Ubicación: LIMA
Mensajes: 27
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como subir un archivo por url a carpeta 777

Cita:
Iniciado por otacon3784 Ver Mensaje
haber dar permisos a una carpeta en linux...

en terminal:

sudo chmod 777 /carpeta1/carpeta2/archivo.x

prueba ese comando para dar permisos a un archivo o sin el archivo para dar permiso a la carpeta.
No doc eso de darle los permisos 777 a la carpeta ya lo hice

lo que quiero es poder subir archivos a mi web

por url osea sin el FTP
  #4 (permalink)  
Antiguo 11/07/2012, 09:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Como subir un archivo por url a carpeta 777

Tendrías que tener el script que recibe el archivo en tu web1 para que desde la web2 haces un HTTP POST hacía el servidor (web1) y recibir el archivo usando $_FILES y moverlo a la carpeta que quieras dentro de web1.

Para enviar el archivo desde la web2, puedes usar cURL para crear el HTTP POST y enviar el archivo codificado correctamente como lo haría el browser.

Saludos.
  #5 (permalink)  
Antiguo 11/07/2012, 10:52
Avatar de cesar203  
Fecha de Ingreso: enero-2010
Ubicación: LIMA
Mensajes: 27
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como subir un archivo por url a carpeta 777

ok doc te mando mi archivo PHP


Código PHP:
Ver original
  1. <?php
  2. if($_GET['op']=="subir"){
  3.  
  4. $archivo = $HTTP_POST_FILES['userfile']['name'];
  5. $direccion=$HTTP_POST_FILES['userfile']['tmp_name'];
  6.  
  7.  
  8. $ruta="http://miweb.com/img/";
  9.  
  10.  
  11. // is_uploaded_file - Indica si el archivo se ha subido a través de HTTP POST  
  12.     if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])){
  13.    
  14.     copy($HTTP_POST_FILES['userfile']['tmp_name'],$ruta."$archivo");
  15.    
  16.     echo "El archivo ha sido cargado y es publicado automaticamente \^\^";
  17.     exit;
  18.     }else{
  19.        echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
  20.      exit;
  21.     }
  22. }
  23. ?>
  24. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  25. <html xmlns="http://www.w3.org/1999/xhtml">
  26. <head>
  27. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  28. <title>Documento sin t&iacute;tulo</title>
  29. </head>
  30.  
  31. <body>
  32. <table align="center" border="0" width="379" height="51">
  33.     <tr>
  34.         <td align="center" height="51" width="373">
  35.        
  36. <form action="subir.php?op=subir" method="post" enctype="multipart/form-data">
  37. Titulo de la foto:
  38. <br />
  39. <input type="text" name="texto" size="20" maxlength="100">
  40. <br>
  41. <br>
  42. Envianos tu foto:
  43. <br>
  44. <input name="userfile" type="file">
  45. <br>
  46. <input type="submit" name="subirfoto" value="Enviar">
  47. </form>
  48.         </td>
  49.     </tr>
  50. </table>
  51. </body>
  52. </html>

me bota este error

Warning: copy(http://miweb.com/img/2012-07-09.txt) [function.copy]: failed to open stream: HTTP wrapper does not support writeable connections in /public_html/subir/subir.php on line 17

bueno ya probe con $HTTP_POST_FILES y $_FILES

Doc tu eres el unico que me puede ayudar .Mi amigo si lo puede hacer pero no me quiere enseñar.Si se puede hacer con Curl Enseñame como hacerlo
Telo agradecere
  #6 (permalink)  
Antiguo 11/07/2012, 11:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Como subir un archivo por url a carpeta 777

No puedes usar copy directamente, como te digo tienes que primero, en tu servidor 1, tener un archivo send.php, en este archivo tienes que usar cURL para enviar el archivo que quieres, y hacer una petición HTTP hacía tu servidor 2.

En el servidor 2, necesitas un archivo recieve.php donde recibas el archivo y ahí sí ya usas copy() o mejor move_uploaded_file() para copiar el archivo a la carpeta que necesites.

Es decir, necesitas tener 2 archivos PHP uno en cada servidor, uno va a transmitir el archivo y el otro lo va a recibir.

Aquí hay un aporte para que aprendas a usar cURL: http://www.forosdelweb.com/f18/aport...equest-724214/

Saludos.
  #7 (permalink)  
Antiguo 12/07/2012, 14:20
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Como subir un archivo por url a carpeta 777

Y porque no lo haces por ftp ??

Hace mucho me toco hacer lo mismo y lo hice con php pero por medio de ftp.

Saludos!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #8 (permalink)  
Antiguo 12/07/2012, 14:31
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Como subir un archivo por url a carpeta 777

Aca te dejo las funciones que use en ese minuto para hacer las subidas de archivos y etc.

Archivo ftp_config.php
Código PHP:
Ver original
  1. $hostFTP    = "191.191.191.190";
  2.     $userFTP    = "user";
  3.     $passFTP = "pass";

class_ftp.php
Código PHP:
Ver original
  1. class ftp{
  2.         function ftp_upload($archivoDestino,$archivoFuente){
  3.             require('config/ftp_config.php');
  4.             // establecer una conexion basica
  5.             $FTPconn = ftp_connect($hostFTP);
  6.            
  7.             // inicio de sesion con nombre de usuario y contraseña
  8.             $loginFTP = ftp_login($FTPconn, $userFTP, $passFTP);
  9.            
  10.             // chequear la conexion
  11.             if ((!$FTPconn) || (!$loginFTP)) {
  12.                 return "error";
  13.             } else {
  14.                 if(ftp_pasv($FTPconn,true)){
  15.                     // cargar el archivo
  16.                     $carga = ftp_put($FTPconn,$archivoDestino,$archivoFuente,FTP_BINARY);
  17.                     // chequear el status de la carga
  18.                     if(!$carga){
  19.                         return "error";
  20.                     }else{
  21.                         return "ok";
  22.                     }
  23.                     // cierra la secuencia FTP
  24.                     ftp_close($FTPconn);
  25.                 }else{
  26.                     ftp_close($FTPconn);
  27.                     return "conexion perdida";
  28.                 }
  29.             }
  30.         }
  31.  
  32.         function ftp_delete($archivoBorrar){
  33.             require('config/ftp_config.php');
  34.             // establecer una conexion basica
  35.             $FTPconn = ftp_connect($hostFTP);
  36.            
  37.             // inicio de sesion con nombre de usuario y contraseña
  38.             $loginFTP = ftp_login($FTPconn, $userFTP, $passFTP);
  39.            
  40.             // chequear la conexion
  41.             if ((!$FTPconn) || (!$loginFTP)) {
  42.                 return "error";
  43.             } else {
  44.                 // borrar el archivo
  45.                 $elimina = ftp_delete($FTPconn,$archivoBorrar);
  46.                 // chequear el status de la eliminacion
  47.                 if(!$elimina){
  48.                     return "error";
  49.                 }else{
  50.                     return "ok";
  51.                 }
  52.                 // cierra la secuencia FTP
  53.                 ftp_close($FTPconn);
  54.             }
  55.         }
  56.  
  57.         function ftp_list($carpeta){
  58.             require('config/ftp_config.php');
  59.             // establecer una conexion basica
  60.             $FTPconn = ftp_connect($hostFTP);
  61.            
  62.             // inicio de sesion con nombre de usuario y contraseña
  63.             $loginFTP = ftp_login($FTPconn, $userFTP, $passFTP);
  64.            
  65.             // chequear la conexion
  66.             if ((!$FTPconn) || (!$loginFTP)) {
  67.                 return "error";
  68.             } else {
  69.                 //list
  70.                 $ftp_list = ftp_nlist($FTPconn,$carpeta);
  71.                 // cierra la secuencia FTP
  72.                 ftp_close($FTPconn);
  73.                 return $ftp_list;
  74.             }
  75.         }
  76.  
  77.         function ftp_rename($archivoARenombrar,$nuevoNombre){
  78.             require('config/ftp_config.php');
  79.             // establecer una conexion basica
  80.             $FTPconn = ftp_connect($hostFTP);
  81.            
  82.             // inicio de sesion con nombre de usuario y contraseña
  83.             $loginFTP = ftp_login($FTPconn, $userFTP, $passFTP);
  84.            
  85.             // chequear la conexion
  86.             if ((!$FTPconn) || (!$loginFTP)) {
  87.                 return "error";
  88.             } else {
  89.                 //rename video
  90.                 $renombra = ftp_rename($FTPconn,$archivoARenombrar,$nuevoNombre);
  91.                 if(!$renombra){
  92.                     return "error";
  93.                 }else{
  94.                     return "ok";
  95.                 }
  96.                 // cierra la secuencia FTP
  97.                 ftp_close($FTPconn);
  98.             }
  99.         }
  100.  
  101.         function ftp_create_dir($carpeta){
  102.             require('config/ftp_config.php');
  103.             // establecer una conexion basica
  104.             $FTPconn = ftp_connect($hostFTP);
  105.            
  106.             // inicio de sesion con nombre de usuario y contraseña
  107.             $loginFTP = ftp_login($FTPconn, $userFTP, $passFTP);
  108.            
  109.             // chequear la conexion
  110.             if ((!$FTPconn) || (!$loginFTP)) {
  111.                 return "error";
  112.             } else {
  113.                 //mkdir
  114.                 $crea = ftp_mkdir($FTPconn,$carpeta);
  115.                 if(!$crea){
  116.                     return "error";
  117.                 }else{
  118.                     return "ok";
  119.                 }
  120.                 // cierra la secuencia FTP
  121.                 ftp_close($FTPconn);
  122.             }
  123.         }
  124.  
  125.         function ftp_rename_dir($nombreAntiguo,$nombreNuevo){
  126.             require('config/ftp_config.php');
  127.             // establecer una conexion basica
  128.             $FTPconn = ftp_connect($hostFTP);
  129.            
  130.             // inicio de sesion con nombre de usuario y contraseña
  131.             $loginFTP = ftp_login($FTPconn, $userFTP, $passFTP);
  132.            
  133.             // chequear la conexion y pasa a modo pasivo
  134.             if ((!$FTPconn) || (!$loginFTP) || (!ftp_pasv($FTPconn,true))) {
  135.                 return "error";
  136.             } else {
  137.                 //rename from
  138.                 $desde = ftp_raw($FTPconn,'RNFR '.$nombreAntiguo);
  139.                 foreach ($desde as $i)
  140.                     $des .= $i;
  141.                 //rename to
  142.                 $hasta = ftp_raw($FTPconn,'RNTO '.$nombreNuevo);
  143.                 foreach ($hasta as $j)
  144.                     $has .= $j;
  145.                 if($des == "550 Permission denied"){
  146.                     return "error";
  147.                 }else{
  148.                     return "ok";
  149.                 }
  150.                 // cierra la secuencia FTP
  151.                 ftp_close($FTPconn);
  152.             }
  153.         }
  154.     }
Ojala te sirva.

Saludos!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #9 (permalink)  
Antiguo 19/07/2012, 14:49
Avatar de cesar203  
Fecha de Ingreso: enero-2010
Ubicación: LIMA
Mensajes: 27
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como subir un archivo por url a carpeta 777

Doc perdonen por la demora en la respuesta
pero estube muy enfermo y no pude ver sus respuestas

te explico lo siguiente alguien sube su archivo php a una de mis carpetas
donde tengo mi servidor no se como lo hace esa es mi consulta.

me puedes explicar como el hace eso ah mi carpeta tiene permisos 777

puedes mandarme un ejemplo pliss

Etiquetas: subidas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:40.