[Php-avanzado] Insisto con el error te mando el script

Daniel Billia ferudine en sion.com
Lun Mayo 13 17:29:28 ART 2013


Leo fijate que cuando se ejecuta apenas inicia funciona y despues da error
le deje fijo el path y nombre en los dos casos...el script la hago corren xamp
------------ próxima parte ------------
<?php

$formaction = $_SERVER['PHP_SELF'];
$nombre='cursophp2.txt';

$dir=getcwd();
$path_base="cursophp2";
$texto='';
$permiso='';

//***** Leo fijate que si lo coloca aca anda y si esta dentro del GET da ERROR
$atxt=fopen($dir.'/'.$path_base.'/ejercicios.txt','r');
$tmp = fread ($atxt, filesize ($dir));//
fclose($atxt);
//****************************************************************************
//****************************************************************************
if (isset($_GET['upload'])) //carga de texto
{
 $qdir=$dir.'/'.$_GET['upload'];
 $nombre= $_GET['nam'];
 $texto='';
if (file_exists($qdir.'/'.$nombre))
{
 //*****------SI LO COLOCA ACA ME DA ERROR CARGANDO EL MISMO ARCHIVO-----********
  $atxt=fopen($dir.'/'.$path_base.'/ejercicios.txt','r');
 $tmp = fread ($atxt, filesize ($dir));//
 fclose($atxt);


 //******* CON ESTE FUNCIONA BIEN ******
//$tmp=file($qdir.'/'.$nombre);



$permiso=substr(sprintf('%o', fileperms($qdir.'/'.$nombre)), -4);
foreach($tmp as $x=>$linea)
 {
   $texto=$texto.htmlspecialchars($linea);
 }
}
}


function listadir($dir_act,$pos)
{
echo $dir_act.'<BR>';
$t_dir = scandir($dir_act);
array_shift($t_dir); //eleimina el resto del path dejando solo el nombre
array_shift($t_dir); // se ejecuta dos veces
foreach($t_dir as $n)
 {
   //echo "<tr><td> <a href=\"$dir_act/$n\">$n</a></td> </tr>";
   $nu=urlencode($n);//es para convertir los espacios entre el link ej (texto de casa.txt)
   echo "<tr><td> <a href=$pos?upload=$dir_act&nam=$nu>$n</a></td> </tr>";
   
 }
}

$formaction=$_SERVER['PHP_SELF'];
$txt='';//nuevo texto
if (isset($_POST['guarda']))
{
 $dir_act=$dir.'/'.$path_base;
 
 if (!file_exists($dir_act))
 { mkdir($dir.'/'.$path_base,0644);
 }
 $txt=$_POST['texto'];
 $fp = fopen($dir_act,"r+");//rescribe el texo
 fwrite($fp,$txt);
 fclose($fp);
}

if (isset($_POST['carga']))
{
  $txt=file($dir_act);
}


?>
<HTML>
<HEAD>
 <TITLE>Editor New</TITLE>
</HEAD>
<BODY>
<form method="POST" action=<?php echo'"'. $formaction.'"';?>>
<table cellspacing="0"  border="4" width="100%">
 <tr>
    <tr><h2>Editor de texto </h2><td>Archivo actual cargado  <?php echo $nombre;if ($permiso<>'')echo '    permiso:'.$permiso;?></td><td>Contenido dir: <?php echo $path_base.' ';?> </td></tr>
    <td > <textarea rows="22" cols="80" ><?php echo $texto;?></textarea>  </td>
      <td align="left">
        <table  border="0">
        <?php
        
         listadir($path_base,$formaction);

         ?>
        </table>
    </td>
 <tr>
    <td align="left">
      <input type="submit" name="guarda" value="Gurdar">
       Nombre archivo:
      <input type="text" size="20" value=<?php echo'"'. $nombre.'"';?>>
    </td>
    <td align="center">Cantidad </td>
   </tr>
 </tr>
</table>

<BR>   <BR>
<input type="submit" name="carga" value="carga ultimo texto">
</form>

</BODY>
</HTML>


Más información sobre la lista de distribución Php-avanzado