Autor
|
Tema: fopen no abre archivos (Leído 8,686 veces)
|
Nitch
Desconectado
Mensajes: 34
|
Hola. Estoy intentando abrir un archivo con la funcion fopen y el problema esue no pasa nada, ni me devuelve error, ni me lo abre, ni nada, y eso que el archivo ya esta creado. Os adjunto el codigo para ver si asin os puedo aclarar mas:
<html> <head> <title> Procesar </title> </head> <body bgcolor="black" text="white"> <h1>Desguaces Bob</h1> <h2>Resultados de procesar</h2> <?php
$tiresqty=$_POST['tiresqty']; $oilqty=$_POST['oilqty']; $sparkqty=$_POST['sparkqty']; $adress=$_POST['adress']; $DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];
echo "<p> Orden procesada a las ".date('H:i, jS F')."<p>"; echo "<p> Usted ha pedido: </p>"; echo $tiresqty." tires.<br />"; echo $oilqty." botellas de aceite.<br />"; echo $sparkqty." bujias.<br />"; echo 'Direccion de envio: '.$adress.'<br />';
$fp=fopen("/../orders/orders.txt", 'ab');
define('TIREPRICE', 100); define('OILPRICE', 10); define('SPARKPRICE', 4);
$totalqty=$tireqty+$oilqty+$sparkqty; $totalamount=$tireqty*TIREPRICE +$oilqty*OILPRICE +$sparkqty*SPARKPRICE; echo 'Total sin Iva: '.number_format($totalamount,2).' Euros.<br />';
$taxrate=0.10; $totalamount=$totalamount*(1+$taxrate);
echo 'Total con Iva: '.number_format($totalamount,2).' Euros.<br />';
?>
|
|
|
En línea
|
|
|
|
Nitch
Desconectado
Mensajes: 34
|
Y aunque le ponga el DOCUMENT_ROOT tampoco hace nada: $fp=fopen("DOCUMENT_ROOT/../orders/orders.txt",'ab')
|
|
|
En línea
|
|
|
|
Nitch
Desconectado
Mensajes: 34
|
con el $ delante de DOCUMENT_ROOT xD
|
|
|
En línea
|
|
|
|
#!drvy
|
Yo en lo que me he fijado no veo ningun error Ni lo lees ni escribes ni nada solo lo abres. Saludos
|
|
|
En línea
|
|
|
|
Nitch
Desconectado
Mensajes: 34
|
ese es el rpoblema, que ni siquiera se abre, y he probado cambiando a 'w+' y tampoco pasa nada. Trabajo en ubuntu, no en windows
|
|
|
En línea
|
|
|
|
#!drvy
|
Pero como sabes que no lo abre ? Prueba cambiándolo por esta linea y a ver lo que te dice. if($fp=fopen("/../orders/orders.txt", 'ab')){echo 'Archivo abierto';} else {echo 'Archivo no abierto';}
Por otra parte Linux en general es bastante estricto con los permisos. Quizás debas cambiarlos. Si el resultado te dice "Archivo no abierto", prueba cambiando en configuración de PHP (php.ini) la linea: error_reporting = a error_reporting =E_ALL | E_STRICT. Y mira a ver si te aloja algún error. Saludos
|
|
|
En línea
|
|
|
|
Nitch
Desconectado
Mensajes: 34
|
he cambiado los permisos y lo he puesto al 777, osea, que se puede hacer de todo, y luego, he pegado tu codigo y me aparece el else,'archivo no abierto'. y el archivo existe. Gracias por la rapida contestacion que mestas dando tio
|
|
|
En línea
|
|
|
|
#!drvy
|
Vale, Pon en primera linea de tu php
o edita tu php.ini buscando las lineas error_reporting y display_errors y cambiando sus respectivos valoes a "E_ALL" y "On". Abre el archivo de nuevo y mira a ver si te muestra algún error. De paso si es posible indica me la la ruta completa del archivo. Me refiero Ahora mismo estas indicando que tu archivo se encuentra en otras carpetas por encima de la tuya. Saludos
|
|
|
En línea
|
|
|
|
Nitch
Desconectado
Mensajes: 34
|
vale, ahora por lo menos ya me sale un error xD algo es algo. este es el mensaje de error: Warning: fopen(/../orders/orders.txt): failed to open stream: No such file or directory in /var/www/php/procesar.php on line 26 Archivo no abierto Notice: Undefined variable: tireqty in /var/www/php/procesar.php on line 32 Notice: Undefined variable: tireqty in /var/www/php/procesar.php on line 34
y luego la ruta del archivo es la siguiente: /var/www/orders/orders.txt y yo estoy en /var/www/php/ asin que para acceder a archivo, pongo los dos puntos para escalar un directorio y meterme en el que está: ../orders/orders.txt
|
|
|
En línea
|
|
|
|
#!drvy
|
Cambia esta linea: $fp=fopen("/../orders/orders.txt", 'ab');
por esta $fp=fopen("../orders/orders.txt", 'ab');
La diferencia es que he quitado la primera /. Saludos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Duda fopen() y modos de apertura
Programación C/C++
|
cgvwzq
|
8
|
7,411
|
7 Mayo 2010, 00:25 am
por Littlehorse
|
|
|
fopen + http error
PHP
|
cundre
|
3
|
4,339
|
13 Noviembre 2010, 01:58 am
por #!drvy
|
|
|
Duda fopen() PHP
Desarrollo Web
|
..:ALT3RD:..
|
9
|
3,851
|
26 Agosto 2013, 00:39 am
por GenR_18
|
|
|
fopen() y c++
Programación C/C++
|
m@o_614
|
4
|
3,175
|
3 Marzo 2014, 23:58 pm
por rir3760
|
|
|
(Problema) Wireshark abre archivos que no son para éñ - invasivo
GNU/Linux
|
klinux
|
0
|
2,283
|
22 Marzo 2019, 15:15 pm
por klinux
|
|