Foros del Web » Programando para Internet » PHP »

Ayuda novato por favor !!!!

Estas en el tema de Ayuda novato por favor !!!! en el foro de PHP en Foros del Web. Buenas y gracias de ante mano por la ayuda ... estoy intentando subir un fichero a mi servidor (Linux) tengo 1 formulario y 1 script. ...
  #1 (permalink)  
Antiguo 15/10/2009, 01:21
 
Fecha de Ingreso: octubre-2009
Mensajes: 25
Antigüedad: 14 años, 6 meses
Puntos: 0
Ayuda novato por favor !!!!

Buenas y gracias de ante mano por la ayuda ...

estoy intentando subir un fichero a mi servidor (Linux)
tengo 1 formulario y 1 script.

Index.php

Código PHP:
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>PHP upload - unijimpe</title> 
<link href="estilo.css" rel="stylesheet" type="text/css" /> 
</head> 
<body> 
<table width="413" border="0" cellspacing="0" cellpadding="0"> 
<tr> 
<td width="413" height="40" class="titulo">PHP upload - unijimpe </td> 
</tr> 
<tr> 
<td class="text">Por favor seleccione el archivo a subir:</td> 
</tr> 
<tr> 
<form action="upload.php" method="post" enctype="multipart/form-data"> 
<td class="text"> 
<input name="archivo" type="file" class="casilla" id="archivo" size="35" /> 
<input name="enviar" type="submit" class="boton" id="enviar" value="Upload File" /> 
<input name="action" type="hidden" value="upload" /> </td> 
</form> 
</tr> 
<tr> 
<td class="text" style="color:#990000"><?php echo $status?></td> 
</tr> 
<tr> 
<td height="30" class="subtitulo">Listado de Archivos Subidos </td> 
</tr> 
<tr> 
<td class="infsub"> 
<?php 
if ($gestor opendir('files')) { 
echo 
"<ul>"
while (
false !== ($arch readdir($gestor))) { 
if (
$arch != "." && $arch != "..") { 
echo 
"<li><a href=\"files/".$arch."\" class=\"linkli\">".$arch."</a></li>\n"


closedir($gestor); 
echo 
"</ul>"

?> </td> 
</tr> 
</table> 
</body> 
</html>
upload.php

Código PHP:
<?php 

$status 
""
if (
$_POST["action"] == "upload") { 
// obtenemos los datos del archivo 
$tamano $_FILES["archivo"]['size']; 
$tipo $_FILES["archivo"]['type']; 
$archivo $_FILES["archivo"]['name']; 
$prefijo substr(md5(uniqid(rand())),0,6); 

if (
$archivo != "") { 
// guardamos el archivo a la carpeta files 
$destino "files/".$prefijo."_".$archivo
if (
move_uploaded_file($_FILES['archivo']['tmp_name'],$destino)) { 
$status "Archivo subido: <b>".$archivo."</b>"
} else { 
$status "Error al subir el archivo"

} else { 
$status "Error al subir archivo"


?>
Cuando doy a Upload file se me carga un error q me dice :

Fatal error: Unknown: Failed opening required '/web/practica2/upload.php' (include_path='.:/usr/share/php5:/usr/share/php5/PEAR') in Unknown on line 0

Y ya le di permisos a la carpeta.
Como soluciono este y error y ago que termine de subirlo ??? :D gracias

Última edición por BetoML; 15/10/2009 a las 01:30
  #2 (permalink)  
Antiguo 15/10/2009, 01:26
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 62
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Ayuda novato por favor !!!!

En los próximos mensajes, trata de usar un asunto más específico que " Ayuda novato por favor !!!! "
Es necesario que en el asunto hables del tema del mensaje. Todos los que escriben piden ayuda, ¿te imaginas si todos los asuntos de todos los mensajes fuesen "Ayudadme"?
  #3 (permalink)  
Antiguo 15/10/2009, 01:31
 
Fecha de Ingreso: octubre-2009
Mensajes: 25
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda novato por favor !!!!

Entendido ... Mil perdones =D ya lo se para la proxima !!! Gracias Pero es que ando algo perdido con este error ...
  #4 (permalink)  
Antiguo 15/10/2009, 01:34
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 62
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Ayuda novato por favor !!!!

El código es correcto, lo he copiado en mi servidor y funciona correctamente, sube los archivos y muestra el listado.
Me da en la nariz que es un problema de permisos en tu servidor. ¿Qué servidor usas? ¿Qué permisos y propietarios tienen los dos archivos y el directorio "files"?
  #5 (permalink)  
Antiguo 15/10/2009, 01:37
 
Fecha de Ingreso: octubre-2009
Mensajes: 25
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda novato por favor !!!!

Pues los permisos 777 y el archivo le usamos todos ea ... el servidor es lo unico que no tengo ni idea ... :( !!!! me van a exar de las practicas como no saque esto ...
  #6 (permalink)  
Antiguo 15/10/2009, 01:43
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 62
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Ayuda novato por favor !!!!

No tiene sentido. Insisto en que el código es correcto, pero el mensaje de "Failed opening required" no tiene sentido porque no usamos ningún "require".
Para probar:
- vaciar cache de navegador
- cambiar de navegador
- hacer la prueba desde otro equipo

¿Los permisos 777 son tanto para los dos archivos como para el directorio?
  #7 (permalink)  
Antiguo 15/10/2009, 01:46
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 62
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Ayuda novato por favor !!!!

¿Antes de ese "Fatal error" no te muestra un "Warning"?
  #8 (permalink)  
Antiguo 15/10/2009, 01:51
 
Fecha de Ingreso: octubre-2009
Mensajes: 25
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda novato por favor !!!!

Que va ... ea me salen los buttons d examinar y upload ... escojo el fichero ... doy a upload y directamente se me pone en blanco y me sale ese error ... :(
  #9 (permalink)  
Antiguo 15/10/2009, 01:59
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 62
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Ayuda novato por favor !!!!

Pues vamos a forzar al script a decirnos todo lo que pueda
En el upload.php mete estas líneas justo debajo del <?php

Código PHP:
error_reporting(E_ALL);
ini_set("display_errors"1); 
A ver si eso nos muestra mas detalles del error
  #10 (permalink)  
Antiguo 15/10/2009, 02:03
 
Fecha de Ingreso: octubre-2009
Mensajes: 25
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda novato por favor !!!!

... igual si la cuestion es que creo que no llega a al archivo upload.php y nos por q ... por que ya le inclui un echo "hola" anteriormente y tampoco me lo mostraba ... es como si cuando doy a upload se perdiera ...
  #11 (permalink)  
Antiguo 15/10/2009, 02:07
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 62
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Ayuda novato por favor !!!!

Eso me hace que vuelva a pensar en la cache. ¿Probaste desde otro navegador o desde otro ordenador?
  #12 (permalink)  
Antiguo 15/10/2009, 02:12
 
Fecha de Ingreso: octubre-2009
Mensajes: 25
Antigüedad: 14 años, 6 meses
Puntos: 0
pFFFFFF ... nose que pasa e borrado los archivos los e vuelto a crear renombrados y ahora me sale error al abrir los dos ... esto de php me va a matar ... :(

lo cambie de carpeta y ya creo q va cambiando el asunto si creo q era lo q me dijistes ... pero ahora me da otro error ... aver si puedes ayudarme q ya esto esta calentito jajaja y gracia spor toda tu ayuda =D

Nuevo Error:

Parse error: syntax error, unexpected $end in /web/practicas/upload.php on line 24

Última edición por GatorV; 15/10/2009 a las 09:22
  #13 (permalink)  
Antiguo 15/10/2009, 02:16
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 62
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Ayuda novato por favor !!!!

Creo que te falta la última línea del upload.php
Revisa que al copiar y pegar no te hayas dejado nada
  #14 (permalink)  
Antiguo 15/10/2009, 02:22
 
Fecha de Ingreso: octubre-2009
Mensajes: 25
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda novato por favor !!!!

Muchisimas gracias ya no me da ningun error el codigo final viene quedando asi ...

index.php

Código PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>PHP upload - unijimpe</title>
  <form action="upload.php" method="post"  enctype="multipart/form-data">
    <td class="text">
      <input name="archivo" type="file" class="casilla" id="archivo" size="35" />
      <input name="enviar" type="submit" class="boton" id="enviar" value="Upload File"  />
      <input name="action" type="hidden" value="upload" /> </td> 
    </form>
</table>
<?php  ?>
</body>
</html>
upload.php

Código PHP:
<?php

if ($_POST["action"] == "upload"
    {
        
// obtenemos los datos del archivo 
        
$tamano $_FILES["archivo"]['size'];
        
$tipo $_FILES["archivo"]['type'];
        
$archivo $_FILES["archivo"]['name'];
        
$prefijo substr(md5(uniqid(rand())),0,6);
    
    if (
$archivo != ""
        {
            
// guardamos el archivo a la carpeta files
            
$destino =  "practicas/".$prefijo."_".$archivo;
                if (
move_uploaded_file($_FILES['archivo']['tmp_name'],$destino)) 
                    {
                    
$status "Archivo subido: <b>".$archivo."</b>";
                    }     
                else 
                    {
                    
$status "Error al subir el archivo";
                    }
        } 
    }            
    else 
    {
        
$status "Error al subir archivo";
    }
    
?>
Ahora no me da ningun error ni nada pero no me termina de subir el fichero ... ya queda mi ultimo empujoncito jajaja =D !!! GRACIAS MIL !!!!! SOIS ENORMES AQUI !!!! =D
  #15 (permalink)  
Antiguo 15/10/2009, 02:31
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 62
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Ayuda novato por favor !!!!

Antes usabas la carpeta "files". ¿Has creado la carpeta "practicas" y le has dado permisos?
  #16 (permalink)  
Antiguo 15/10/2009, 02:32
 
Fecha de Ingreso: octubre-2009
Mensajes: 25
Antigüedad: 14 años, 6 meses
Puntos: 0
ok ok voy a ello aver si es eso :D !!!MUCHAS GRACIAS !!!!

No igual mira me da este error ... que por cierto gracia spor le codigo de los errores :D ... los permisos son 777

Me da este error cuando doy a upload file:


Warning: move_uploaded_file(practicas/Lighthouse.jpg): failed to open stream: No such file or directory in /web/practicas/upload.php on line 16 Warning: move_uploaded_file(): Unable to move '/tmp/phpckU15z' to 'practicas/Lighthouse.jpg' in /web/practicas/upload.php on line 16 Error al subir el archivo 1
[/B]

Última edición por GatorV; 15/10/2009 a las 09:22
  #17 (permalink)  
Antiguo 15/10/2009, 02:55
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 62
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Ayuda novato por favor !!!!

O bien no existe el directorio /web/practicas/practicas
O ya existe el archivo /web/practicas/practicas/Lighthouse.jpg

Mi recomendación en estos casos es que te instales un servidor web de desarrollo en tu PC (por ejemplo, WAMP) y pruebes ahi la aplicación antes de subirla al servidor. Si funciona en tu PC, el código es correcto, el problema estará en el lado del servidor, las rutas o los permisos.
Si te falla en tu PC, el problema está en tu código
  #18 (permalink)  
Antiguo 15/10/2009, 03:19
 
Fecha de Ingreso: octubre-2009
Mensajes: 25
Antigüedad: 14 años, 6 meses
Puntos: 0
Que va jajajaa ... no logro entenderlo todavia pero bueno aver ... me da error en la linea 16

En el $destino ... pero e probado a indicarle la ruta completa y tal /web/practicas ... o tambien 199.999.999.999/web/practicas y tampoco ...

la cuestion es que el directorio si existe ... y el achivo existe pero en mi pc no en el servidor.


Warning: move_uploaded_file(/practicas/e84d77_Hydrangeas.jpg): failed to open stream: No such file or directory in /web/practicas/upload.php on line 17

Warning: move_uploaded_file(): Unable to move '/tmp/phpP1R8p3' to '/practicas/e84d77_Hydrangeas.jpg' in /web/practicas/upload.php on line 17 Error al subir el archivo 1

Gracias por tu paciencia jjaja :D

Ya me funciono todo a la perfeccion ... Muchisimas gracias egrueda por tu tiempo y paciencia !!!! =D ( Creo que me salvo del despido de las practicas jajaja )

ummm una pregunta mas ...

Si quisiera hacer lo mismo pero en una carpeta que esta protegida por .htaccess y .htpasswd
que tien declarado dny from all ???

Gracias =D

Última edición por GatorV; 15/10/2009 a las 09:22
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 07:26.