[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