Foros del Web » Programando para Internet » PHP »

Subir archivos localmente con Appserv

Estas en el tema de Subir archivos localmente con Appserv en el foro de PHP en Foros del Web. Hola amigos. he buscado informacion para evitar hacer la pregunta y molestarlos. Pero todo lo que encontre fue problemas de personas que no puede subir ...
  #1 (permalink)  
Antiguo 08/05/2006, 13:26
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
Subir archivos localmente con Appserv

Hola amigos. he buscado informacion para evitar hacer la pregunta y molestarlos. Pero todo lo que encontre fue problemas de personas que no puede subir sus archivos en sus respectivos hosting's (de pago o gratuito).. bueno, lo que yo quiero hacer (como se imaginaran) es algo nuevo para mi. Tengo algunos problemas para subir archivos a mi servidor local..

Estoy usando un script freeware que me baje para estudiarlo, pero lo uso, me sale el mensaje de que subio correctamente el archivo, pero me voy al appserv y no lo encuentro por ningun lado. Fui al php.ini a ver la ruta en la que se deberian guardar los archivos (temporales) y le puse esta ruta:

upload_tmp_dir = "C:\AppServ\php\tmp\" (obviamente tuve que crear la carpeta "tmp").. aun asi, no sube el archivo. he buscando para ver si el script hace alguna redireccion para guardarlo en un lugar mas seguro (que no sea la carpeta temporal) pero no he encontrado nada... ustedes creen que pueda ser el appserv?? o que? espero sugerencias amigos. gracias!
  #2 (permalink)  
Antiguo 08/05/2006, 13:34
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

Yo en lo personal te recomiendo que bajes tunnelier- para subir los archivos al servidor - que es un SFTP. Integra una interfaz gráfica excelente y muy fácil de usar.

Última edición por mauled; 08/05/2006 a las 13:40
  #3 (permalink)  
Antiguo 08/05/2006, 13:44
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
Gracias pero ese no es mi problema. lo que yo quiero hacer es que por medio de php pueda subir un archivo al servidor. osea, no quiero hacerlo por ftp.. sino solo subir el archivo LOCALMENTE por medio de php cosa que no puedo hacer... ideas?
  #4 (permalink)  
Antiguo 08/05/2006, 13:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Será mejor que indiques el código que usas y muestres si hay mensajes de error/avisos en general de ese mismo código.

Indica con qué tipo de archivos pruebas y bajo que condiciones. Si tienes problemas de restricciones por tamaño de archivo o tiempo de ejecución de tu script deberías ver algún mensaje de erro (o puede que no lo veas por qué no muestras mensajes de error tu configuración de PHP). En fin .. explica todo eso para llegar alguna conclusión más acertada.

Cuando pongas tu el código que usas vendrán las preguntas y revisiones típicas. Por ejemplo .. lo que se "busca" es un mensaje de error que dé un indicio del problema.

Por cierto .. olvidate de "AppServ" o la aplicación que usastes para instalar PHP y demás .. eso ahora no viene al caso, lo que "manda" son las versiones de PHP .. de Apache .. y sus configuraciones respectivas (las cuales habrá que revisar).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 08/05/2006, 14:03
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
Con gusto cluster.
El progrma que descargué se llama: uploader1.0 y lo descargue de webtaller.com
Este programa usa dos script's y son: upl2.php y upload.php y son:

upload.php
Código PHP:
<HTML>
<?
///////////////////////
// Upload de Archivos//
// akuatik 03'       //
// http://akuatik.net//
// for PHP > 4.2.x   //
///////////////////////
?>
<form method="POST" enctype="multipart/form-data" action="upl2.php">
<input type="file" name="archivo" size="20">
<input type="submit" value="Enviar" name="send">
<input type="reset" value="Borrar" name="erase">
</form>
</HTML>
upl2.php
Código PHP:
<?
///////////////////////
// Upload de Archivos//
// akuatik 03'       //
// http://akuatik.net//
// for PHP > 4.2.x   //
///////////////////////

// Configuración //
///////////////////
// $extensiones=array("1ªext","2ªext","....");
// Aqui debes poner las extensiones que NO admitas
// por ejemplo si no quieres admitir .html , .exe ni .gif :
// $extensiones=array("html","exe","gif");
///////////////////////////////////////
$extensiones=array("html","exe","php");
/////////////////
// $path="/ruta/ta/ta";
// Si el server rula bajo LinuX toda la ruta completa /var/etc/..
// Si rulas bajo WindoWs C:/midirectorioroot/tal..
// Nota: Sin el último / ej: C:/miweb NO C:/miweb/
////////////////
$path="C:/AppServ/www/tmp/";
$nombre=$HTTP_POST_FILES['archivo']['name'];
$tamanio=$HTTP_POST_FILES['archivo']['size'];
$tipo=$HTTP_POST_FILES['archivo']['type'];
$var explode(".","$nombre");
$num count($extensiones);
$valor $num-1;
for(
$i=0$i<=$valor$i++) {
    if(
$extensiones[$i] == $var[1]) {
    echo 
"Tipo de Archivo no admitido";
    exit;
    }
}
if (
is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name']))
 {
  
copy($HTTP_POST_FILES['archivo']['tmp_name'], "$path/$nombre");
  echo 
"El archivo se ha subido correctamente al servidor, muchas gracias <p>";
  echo 
"Nombre: $nombre <p>";
  echo 
"Tamaño: $tamanio <p>";
  echo 
"Tipo: $tipo";
 }
else { echo 
"Error al subir el archivo"; }
?>
Bueno, sinceramente el codigo no lo veo dificultoso, pero mi problema es para guardar los archivos... ahora, si se dan cuenta en la variable "$path" pongo la misma ruta que indico en el php.ini... La diferencia estaria en que en el php.ini pongo las barras distintas a las del script.. pero no es eso tampoco.. que sera?
  #6 (permalink)  
Antiguo 08/05/2006, 14:10
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
Sorry falta estos datos:
- Estoy probando por ahora solo con imagenes "JPG".
- Uso PHP Version 4.3.11
- Server API CGI/FastCGI (CREO QUE ESE DATO ES IMPORTANTE :s)
- upload_max_filesize 2M 2M
- upload_tmp_dir C:\AppServ\php\tmp\ ---- C:\AppServ\php\tmp\
- user_dir no value ---- no value

Eso es lo que veo haciendo un echo phpinfo(); bueno espero puedan ayudarme.. gracias!
  #7 (permalink)  
Antiguo 08/05/2006, 14:11
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

Te recomiendo que cambies $HTTP_POST_FILES por $_FILES.
Y te recomiendo que uses la funcion move_uploaded_file() para poner tu archivo dentro de la carpeta del servidor.
Un ejemplo seria:
<?
move_uploaded_file($_FILES['archivo']['tmp_name'], '/tucarpeta/myFile.txt');

?>
  #8 (permalink)  
Antiguo 08/05/2006, 14:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok ..

Bueno, comentar que el código está muyyyyy desfasado.

Sustituye las llamadas a $HTTP_POST_FILES por $_FILES y el uso de copy() por move_uploaded_file()

Este "path":
$path="C:/AppServ/www/tmp/";

que debes indicar en tu aplicación NO se refiere a donde vas a mover tus archivos cuando suban .. debes indicar uno dentro de tu sitio (aplicación) .. pero no de ese tipo.

Tienes que revisar tu php.ini:
upload_tmp_dir = .. indica un directorio que exista en tu servidor ..

Es ahí donde PHP sube los archivos en primera instancia y luego con "move_upload_file()" se "sacan" de ese sitio para llevarlos a su destino definitivo (algún sitio que tu aplicación conce y usará).


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 08/05/2006, 15:35
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
Osea que como para estudiar el codigo no es muy confiable (Actualmente) que digamos... bueno, voy a probar lo que ustedes me han comentado y les digo...
  #10 (permalink)  
Antiguo 08/05/2006, 16:01
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
No funciona! :s
Bueno, hice lo que me dijeron:
- cambiar los $HTTP_POST_FILES por $_FILES
- copy() por move_uploaded_file()
- mi ruta en mi php.ini es upload_tmp_dir = "C:\AppServ\php\tmp\" (el directorio existe)
- Cluster, la ruta para guardar las imagenes es C:/AppServ/php/www/imagenes/ (la que piden en el script) y bueno, el directorio tambien existe pero no guarda nada... yo ejecuto todos los .php en la carpeta "www" y como ves he creado la carpeta imagenes dentro de esta carpeta "www".. hay algo adicional que tenga que hacer????
  #11 (permalink)  
Antiguo 08/05/2006, 16:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Revisar como está tu nivel de mensajes de error que PHP mostrará.

Revisa tu php.ini:

display_errors = (debería estar a ON ya que estás desarrollando)
error_reporting = (al nivel más alto para que veas todo tipo de error: descripción y ejemplos tienes en el mismo php.ini).

Con eso ya deberías ver algún mensaje de error.

Por cierto .. no comentastes que tamaño de imagenes trabajas .. PHP (en su php.ini lo veras) impone restricciones. Revisa esta FAQ:

http://www.forosdelweb.com/showpost....&postcount=146

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 08/05/2006, 16:47
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
Cluster, en el php.ini esta asi: upload_max_filesize = 2M
Ademas, en el codigo me adelante y le puse error_reporting(E_ALL); pero no muestra ningun mensaje de error... Por cierto, la imagen que quiero subir pesa solo 11 Kb... Ap, y display errors esta en "On" :s
  #13 (permalink)  
Antiguo 08/05/2006, 16:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por preguntoncio
Cluster, en el php.ini esta asi: upload_max_filesize = 2M
Ademas, en el codigo me adelante y le puse error_reporting(E_ALL); pero no muestra ningun mensaje de error... Por cierto, la imagen que quiero subir pesa solo 11 Kb... Ap, y display errors esta en "On" :s
Y al subir tu archivo .. que mensaje obtienes o como se comporta tu código? ..

Estás seguro que las rutas que indicas tienen permisos de escritura? (las que indicas en tu php.ini y en $path?)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 08/05/2006, 17:08
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
Cita:
Iniciado por Cluster
Y al subir tu archivo .. que mensaje obtienes o como se comporta tu código? ..
Si, aparentemente el codigo tiene un normal comportamiento pues, los datos de la imagen llegan hasta el script upl2.php y pasa bien por las condicionales.. por ejemplo, se supone que en esta linea: if (is_uploaded_file($_FILES['archivo']['tmp_name'])) quiere decir ¿si el archivo se ha subido, entonces...? y bueno, se le cambia la ubicacion y se muestra el mensaje que se ha subido correctamente... osea, el script se comporta como si no hubiese pasado nada...

Cita:
Iniciado por Cluster
Estás seguro que las rutas que indicas tienen permisos de escritura? (las que indicas en tu php.ini y en $path?)

Un saludo,
Como puedo saber eso, si estoy trabajando localmente??? quizas sea eso, pero no se como darle los permisos de escritura localmente... puedes indicarme por favor??...

Saludos Cluster!
  #15 (permalink)  
Antiguo 09/05/2006, 11:52
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
Bueno amigos, les comentare que estuve buscando otro script para estudiar, y parece ser que no es cosa de mi configuracion.. sino que es el script... lamentablemente no puedo ubicar el error por mi inexperiencia en el tema, pero con el nuevo script si sube la foto o cualquier otro archivo... bueno, gracias de todas maneras por su ayuda...

saludos.
  #16 (permalink)  
Antiguo 24/05/2006, 13:20
Avatar de oveja  
Fecha de Ingreso: febrero-2004
Ubicación: Comodoro Rivadavia
Mensajes: 8
Antigüedad: 13 años, 10 meses
Puntos: 0
Nuevo script

¿Podrías poner el nuevo script que conseguiste?
Gracias
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 00:50.