Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/01/2007, 16:55
cruzz
 
Fecha de Ingreso: noviembre-2004
Ubicación: Montréal - Santa Fe
Mensajes: 140
Antigüedad: 20 años, 4 meses
Puntos: 2
Re: Error raro en Fopen

a pedido de publico :P aca estan los codigos

1) con esto subo los archivos - Funciona bien

Código PHP:
<?
//  Autentificator
require("aut_verifica.inc.php");
$nivel_acceso=10// Nivel de acceso para esta página.

if ($nivel_acceso <= $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}

require (
"aut_config.inc.php"); // incluir configuracion.
$pag=$_SERVER['PHP_SELF'];  // el nombre y ruta de esta misma página.

$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die("No se pudo conectar a la Base de datos") or die(mysql_error());
mysql_select_db("$sql_db") or die(mysql_error());

$_SESSION['mensaje']="";
$_SESSION['erro']="";
$id_cli $_SESSION['usuario_id'];
$usuario $_SESSION['usuario_login'];
$usuario_consulta mysql_query("SELECT id_cli FROM $sql_tabla") or die("No se pudo realizar la consulta a la Base de datos");
$resultados mysql_fetch_array($usuario_consulta);

session_register("HornDir");
   if(!
$GlimpseDir$GlimpseDir="/";


   
$basedir=$_SERVER['DOCUMENT_ROOT']. "/clientes/csv_importer/csv/";

   function 
reloadnow() {
    global 
$PHP_SELF;
    global 
$addons;
    
header("Status: 302 Moved");
    
header("Location: $PHP_SELF".$addons);
    exit(); }

   if(
$cancel$action="";
   if(
$action=="root"$GlimpseDir="/";

   if(
$action=="dele" && $confirm==1) { @unlink($basedir.$file); $action="";}
      
adnow(); } 

    
    if(
$upload) { move_uploaded_file($userfile,$basedir.$GlimpseDir.$userfile_name); 
    
reloadnow(); }

?>
<?
include ("header0.php"); // son solo cuestiones esteticas
include ("header.php");


if (
$action=="dele") {
    echo 
"<table height='30'><tr><td></td></tr></table>\n";
    echo 
"<TABLE cellspacing='2' cellpadding=0 border=0 align=center>\n";
    echo 
"<tr><td>Está seguro de querer borrar el archivo $file ?<BR></td></tr>\n";
        echo 
"<tr><td>&nbsp;</td></tr>\n";
        echo 
"<tr><td align='center'><A HREF=\"$PHP_SELF?action=dele&file=" rawurlencode($file) . "&confirm=1\">SI</A><BR></td></tr>\n";
        echo 
"<tr><td align='center'><A HREF=\"$PHP_SELF\">NO</A><BR></td></tr>\n";
    echo 
"</TABLE>\n";
        echo 
"<table height='180'><tr><td></td></tr></table>\n";
        include (
"footer.php");
    exit(); }

?>

<table height="30"><tr><td></td></tr></table>
<TABLE cellspacing="2" cellpadding=0 border=0 align=center>
<tr><td colspan=4 class="tdTitle">Sistema de Actualización</td></tr>
<tr><td colspan=4 class="tdSpacer">&nbsp;</td></tr>
<TR><TD class="tdPreviewAssignHeader"><div align='center'>Archivo</div></TD>
<TD class="tdPreviewAssignHeader"><div align='center'>Tipo</div></TD>
<TD class="tdPreviewAssignHeader"><div align='center'>Tamaño</div></TD>
<TD class="tdPreviewAssignHeader"><div align='center'>Acción</div></TD></TR>
<? $handle=opendir($basedir $GlimpseDir);
   while(
$file readdir($handle)) {
    if (
$file != "." && $file != "..") {
        
$filename=$basedir.$GlimpseDir.$file;
        
$fileurl=rawurlencode($GlimpseDir.$file);
        echo 
"<TR>";
        echo 
"<TD><span style='padding-left:5px'>" htmlspecialchars($file) . "</span></TD>\n";
        echo 
"<TD><div align='center'>" filetype($filename) . "</div></TD>\n";
        echo 
"<TD align='right'><span style='padding-right:10px'>" roundfilesize($filename)/1024) . "K<span></TD>\n";
        echo 
"<TD><div align='center'>";
        if(
filetype($filename)=="file") {
            echo 
"<A HREF=\"$PHP_SELF?action=dele&file=$fileurl\">Eliminar</A> ";
            echo 
"<A HREF=\"./csv_importer.php?file=$file\">Importar</A> ";
        } 
      echo 
"</div></TD>";
        echo 
"</TR>\n";
        }
    }
   
closedir($handle);
?>
<tr>
<tr><td colspan=4 class="tdSpacer">&nbsp;</td></tr>
<td class="tdSubmit" colspan="4"><FORM ENCTYPE="multipart/form-data" METHOD="POST" ACTION="<?=$PHP_SELF;?>">
<INPUT NAME="userfile" TYPE="file" class="inputText">
    <INPUT TYPE="SUBMIT" NAME="upload" VALUE="Subir" class="inputSubmit">
</FORM>
</td>
</tr>
</TABLE>
<table height="30"><tr><td></td></tr></table>


<?php include ("footer.php"?>
2) Codigo de la Importancion: aca suele haber dos tipos de errores que ya detallo

Código PHP:
<?
//  Autentificator

require("aut_verifica.inc.php");
$nivel_acceso=10// Nivel de acceso para esta página.

if ($nivel_acceso <= $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}

require (
"aut_config.inc.php"); // incluir configuracion.
$pag=$_SERVER['PHP_SELF'];  // el nombre y ruta de esta misma página.

$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die("No se pudo conectar a la Base de datos") or die(mysql_error());
mysql_select_db("$sql_db") or die(mysql_error());

$_SESSION['mensaje']="";
$_SESSION['erro']="";
$id_cli $_SESSION['usuario_id'];
$usuario $_SESSION['usuario_login'];
$usuario_consulta mysql_query("SELECT id_cli FROM $sql_tabla") or die("No se pudo realizar la consulta a la Base de datos");
$resultados mysql_fetch_array($usuario_consulta);
    
/*
    #############################################################
    # >>> PHP CSV Importer                                        #
    #############################################################
    # > Author:  Matthew Lindley                                #
    # > E-mail:  [email protected]                            #
    # > Verson:  1.1a (See change_log.txt for details)            #
    # > Date:      5th October 2002                                #
    #                                                            #
    # This script will allow you to import CSV files and put    #
    # the results into a database.                                                                    
    */

require_once('../db.php');
require_once(
'../phpmkrfn.php');

function 
normalise($string) {
    
$string str_replace("\r""\n"$string);
    
    return 
$string;    
}

echo        
$table str_replace(substr($_GET[file],-4),"",$_GET[file]);

    if (!
$csvFile$csvFile=$_SERVER[DOCUMENT_ROOT].'clientes/csv_importer/csv/'.$_GET[file];
    if (!
$delimiter$delimiter=",";
    if (!
$escape$escape="/";
    if (!
$enclosure$enclosure="\"";
    if(!
$serverName$serverName="locahost";
    if(!
$username$username="uv0023";
    if(!
$password$password="turma075dular";
    if(!
$database$database="uv0023_horn";    
    if(!
$maxCols$maxCols="";
    if(!
$startLine$startLine=1;//"uv0023_horn";

    
if (!$connection phpmkr_db_connect(HOST,USER,PASS,null,PORT)) {
        die(
"Can't connect to database.  Has MySQL stopped?");
    } else {
        
$fields mysql_list_fields($database$table$connection);
        
$columns mysql_num_fields($fields);
        
$selectedFieldIndex 0;
        
        for (
$index 0$index $columns$index++) {
            
$fieldArray[$selectedFieldIndex][0] = mysql_field_name($fields$index);
            
$fieldArray[$selectedFieldIndex][1] = $fieldColumn[$index];
            
            
$selectedFieldIndex++;
        }
                
            if (!
$myFile fopen(stripslashes($csvFile), "r")) {
                echo 
'<br>$csvFile: '.$csvFile.'<br>';
                echo 
'stripslashes($csvFile): '.stripslashes($csvFile).'<br>';
                echo 
'$myFile: '.$myFile.'<br>';
                
//$fp23 = fopen(stripslashes($csvFile), "r");
                
echo '$fp23 = fopen(stripslashes($csvFile), "r"): '.$myFile .'<br>';
                
fclose($myFile);
                
                die(
"Can't open CSV file.  Has it been moved/deleted?");
                
            } else {
            
                
$line 0;
                
$ssql "TRUNCATE TABLE `$table`";
                
                if (
mysql_query($ssql,$connection)) {
                    
$mysql_log .= "<strong>Ok:</strong> $ssql\n<br>\n<br>";
                } else {
                    
$mysql_log .= "<strong>Falló:</strong> $ssql\n<br>Razon: " mysql_error() . "\n<br>\n<br>";
                }
                
                if(
$table == 'listas')
                    
$terminated '\\r\\n';
                else 
                    
$terminated    '\\n';
                
                
                
$sql 'LOAD DATA LOCAL INFILE \''.stripslashes($csvFile).'\' 
                        REPLACE INTO TABLE `'
.$table.'` 
                        FIELDS TERMINATED BY \''
.$delimiter.'\' 
                        ENCLOSED BY \''
.trim($enclosure,"\\").'\' 
                        ESCAPED BY \''
.$escape.'\' 
                        LINES TERMINATED BY \'\\r\\n\'
                        IGNORE '
.$startLine.' LINES';
                if (
$update_db mysql_query($sql$connection)) {
                            
$mysql_log .= "<strong>Ok:</strong> $sql\n<br>\n<br>";
                        } else {
                            
$mysql_log .= "<strong>Falló:</strong> $sql\n<br>Razon: " mysql_error() . "\n<br>\n<br>";
                        }
            } 
            
            
fclose($myFile);
            
            if (
$table == "clientes"){
                
$boton "<input type=\"submit\" name=\"volver\" value=\"Crear cuentas de usuarios nuevos &raquo;\" class=\"inputSubmit\">";
                
$location "./update_user_pass.php";
            }else {
                
$boton "<input type=\"submit\" name=\"volver\" value=\"Importar otro archivo &raquo;\" class=\"inputSubmit\">";
                
$location "./admin.php";
            }    

            
$display_block "
            <form action=\"$location\" method=\"POST\">
                <table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"55%\" align=\"center\">
                    <tr>
                        <td colspan=\"2\" class=\"tdTitle\">Horn DataBase Admin </td>
                    </tr>
                    <tr>
                        <td colspan=\"2\" class=\"tdSpacer\">&nbsp;</td>
                    </tr>
                    <tr>
                        <td colspan=\"2\" class=\"tdSpacer\">&nbsp;</td>
                    </tr>
                    <tr>
                        <td>" 
$mysql_log "</td>
                    </tr>
                    <tr>
                        <td colspan=\"2\" class=\"tdSpacer\">&nbsp;</td>
                    </tr>
                    <tr>
                        <td class=\"tdSubmit\">$boton</td>
                    </tr>
                </table>
            </form>
            "
;
    }

?>
<?php 
include ('header0.php');
include (
'header.php');
$display_block .= "<table height='100'><tr><td></td></tr></table>";
echo 
$display_block;
include (
'footer.php');

?>
el error mas general salta aqui
Código PHP:
if (!$myFile fopen(stripslashes($csvFile), "r")) 
me devuelve VACIO por ende el mensaje es:

Código PHP:
die("Can't open CSV file.  Has it been moved/deleted?"); 
el siguiente error menos frecuente es:
Código PHP:
$mysql_log .= "<strong>Falló:</strong> $ssql\n<br>Razon: " mysql_error() . "\n<br>\n<br>"
aqui el mensaje es FILE NOT FOUND de la funcion mysql_error()

como decia... insistiendo varias veces con F5 termina tomandolo

gracias