Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] importar CSV

Estas en el tema de importar CSV en el foro de PHP en Foros del Web. Buenas, estoy haciendo un codigo para subir un archivo CSV directamente al servidor, para depues manipularlo, el problema es que SI sube el archivo, pero ...
  #1 (permalink)  
Antiguo 20/06/2013, 16:39
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 10 años, 10 meses
Puntos: 1
importar CSV

Buenas, estoy haciendo un codigo para subir un archivo CSV directamente al servidor, para depues manipularlo, el problema es que SI sube el archivo, pero al querer hacer la consulta me da un error :

Cita:
Error 500: Script Execution Failure
Description: The server encountered an internal error or misconfiguration and was unable to complete your request.

Most common reasons for returning this error message are:

• File Upload Mode
When you upload Perl, CGI scripts via FTP you should use always ASCII mode. If you get "Error 500: Script Execution Failure" you should check whether your FTP client uses ASCII mode when uploading your scripts, because if it uses BINARY mode to upload your scripts they won't work on the server. The problem caused by wrong upload mode is associated with the way different operating systems handle the "end of line" character. Unix system uses a "line-feed" (LF), Windows uses a "carriage-return" (CR) and "line-feed" (LF) pair. That's why it is very important that you set the uploading mode to ASCII.

• File Permissions
When you upload scripts via FTP the file permissions are set by default to 755. If you get "Error 500: Script Execution Failure" you should check whether your scripts have 755 permissions. Otherwise your scripts have lower level of permissions and does not support execution upon request. The octal representation of the 755 permission is equal to the following textual format: -rwxr-xr-x
Most FTP clients support the CHMOD command which is used for setting file permissions. In case you have set improper permissions to your scripts, use your FTP client and set "Read, Write, Execute" permissions for the owner, "Read, Execute" permissions for the group and everyone else.

• Script Errors
This is the third well known reason for getting "Error 500: Script Execution Failure" upon execution of your scripts. Check your scripts for any obvious syntax or programming errors to make sure your code is not broken.


Remember: When you get a "Error 500: Script Execution Failure", you should always check for any file uploading problems (ASCII/BINARY) and the executable permission settings. Once those are checked and verified, it looks like there is a syntax error or some other problem in the script.
¿Que es? ya modifique la carpeta pera los permisos 755 pero no los guarda y cada que se sube el archivo me regresa los permisos a 644
  #2 (permalink)  
Antiguo 20/06/2013, 16:50
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: importar CSV

Amigo, publicar un error TAN GENÉRICO como un error 500 no aporta nada, PEOR AÚN, sin mostrar código, es querer que adivinen los que pretendan ayudarte...

Checa los logs de error de tu servidor y publica el código que tienes si no es imposible ayudar, ya que lamentablemente no hay adivinos en el foro...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 20/06/2013, 17:05
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 10 años, 10 meses
Puntos: 1
Respuesta: importar CSV

Cita:
Iniciado por Nemutagk Ver Mensaje
Amigo, publicar un error TAN GENÉRICO como un error 500 no aporta nada, PEOR AÚN, sin mostrar código, es querer que adivinen los que pretendan ayudarte...

Checa los logs de error de tu servidor y publica el código que tienes si no es imposible ayudar, ya que lamentablemente no hay adivinos en el foro...
Pues supuse era un error del tipo "desactiva el..." o "ponle un... " pero ps aca les pongo el código...

al formulario de subida:

Código HTML:
<html>
<form action="subida.php" method="post" enctype="multipart/form-data">
  <input name="archivo" type="file" size="35" />
  <input name="enviar" type="submit" value="Upload File" />
  <input name="action" type="hidden" value="upload" />     
</form>
</html> 
el formulario que hace lo de enviarlo al servidor

Código PHP:
<?php
$status 
"";
if (
$_POST["action"] == "upload") {
 
    
$tamano $_FILES["archivo"]['size'];
    
$tipo $_FILES["archivo"]['type'];
    
$archivo $_FILES["archivo"]['name'];
      
    if (
$archivo != "") {
      
        
$destino =  "files/".$archivo;
        if (
copy($_FILES['archivo']['tmp_name'],$destino)) {
            
$status "Archivo subido: <b>".$archivo."</b>";
        } else {
            
$status "Error al subir el archivo";
        }
    } else {
        
$status "Error al subir archivo";
    }
}
echo 
$status ;
echo 
'
<html>
<body>

<div>
      <form method="post" name="FormularioContacto" id="FormularioContacto">

<p>Asunto</p>
 <p><textarea size="50" maxlength="300" name="asunto" id="asunto"></textarea></p>
 <p>Mensaje</p>
 <p><textarea  rows="10" cols="40" name="mensaje" id="mensaje"></textarea></p>
 

</body>
</html>'
;
$subido fopen'.$archivo'"rb" );
 
   
     
$aDatos fgetcsv$subido100";");
    
print_r$aDatos );
    echo 
"<br />";
   
     
$aDatos fgetcsv$subido100";" );
    
print_r$aDatos );
    echo 
"<br />-------------------------------------<p />";
    
    
fseek($subido0);
   
     while( 
feof($subido) == false )
     {
         
$aDatos fgetcsv$subido100";");
        echo 
"Nombre: ".$aDatos[0]."<br />";
        echo 
"Correo: ".$aDatos[1]."<br />";
        echo 
"Adjunto: ".$aDatos[2]."<br />";
        echo 
'<input type="submit" value="Enviar" /><br />';
    }
    
fclose$archivo );
?>
  #4 (permalink)  
Antiguo 20/06/2013, 17:14
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: importar CSV

Siempre que un "programador" supone algo un problema aparece..

En fin, es claro tu error, como pretendes abrir un archivo que ni si quiera has subido ya que tan si quiera entrar fopen intenta abrir un archivo, pero no solo eso, a fopen le pasa un STRING, no una variable, parece que no sabes la diferencia entre usar comillas simples (o apostrofes) y comillas dobles, en todo caso fopen intenta abrir un archivo con el nombre LITERAL .$archivo, por lo cual nunca funcionará, por ultimo, rb se utiliza en archivos que no son texto, como binaros o similares, en tu caso debes usar r o similar, arregla esos errores y luego vuelve a intentar....

Por cierto, no se debe usar copy() que para eso existe move_uploaded_file()....
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 20/06/2013, 17:45
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 10 años, 10 meses
Puntos: 1
Respuesta: importar CSV

Si, sin lugar a dudas este tramite debería de hacerlo un programador, seguro a los señores estudiados no se les pasan estas burradas... en fin, me tocó a mi hacerlo y esto del autodidacta es medio complicado.

Nada de lo que me comentas fue necesario hacer... no me habia dado cuenta pero con corregir

Código PHP:
$subido fopen"files/".$archivo"rb" ); 
Fue mas que suficiente...

Gracias como sea
  #6 (permalink)  
Antiguo 20/06/2013, 17:48
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: importar CSV

¬¬ por lo que veo ni si quiera leíste lo que escribí, pero bueno, menos mal que lo solucionaste....
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #7 (permalink)  
Antiguo 21/06/2013, 09:23
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 10 años, 10 meses
Puntos: 1
Respuesta: importar CSV

Cierto, no lo lei... paré después de "programador" ...

Como sea, cierro el tema lo doy por solucionado.

Etiquetas: csv
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 18:57.