![]() |
[solucionado] Problema con fwrite Tengo ya buen rato con este problema y no logro dar con la solución. El objetivo es escribir una línea en un archivo externo, en una posición específica. Hasta ahí todo funciona bien. El caso es que cada vez que actualizo la página que tiene el código, la otra también se actualiza. Quisiera que sólo escribiera la línea cuando ésta no se encuentre presente, en lugar de escribirla todo el tiempo. Aquí está el código: Código PHP: |
Respuesta: Problema con fwrite Estimado no puede leer el contenido de dicho fichero con file_get_contents y si el valor retornad es igual a vacio hace x cosa sino hace otra x cosa. Saludos! |
Respuesta: Problema con fwrite Cuestión de probar. A ver si resulta con eso. Gracias :arriba:. |
Verifica este aporte a ver si te ayuda http://www.forosdelweb.com/f18/aport...equest-724214/ Verifica si esto es lo que deseas hacer. De verdad que me perdi con lo que quieres hacer pero verifica si esto te ayuda
Código PHP:
Ver original |
Respuesta: Problema con fwrite Estimado aqui le coloco una solución a su problema , o eso pienso:
Código php:
Ver original Una sola cosa tiene defectuosa , no imprime una linea debajo de otra sino todo en una linea pero a los fines didacticos es util y funciona perfecto. Saludos! |
Respuesta: Problema con fwrite Mil gracias por su ayuda muchachos :arriba:, aunque aún no encuentro manera de hacer funcionar el hijoep... código. Ya daré con la solución de un momento a otro. |
Respuesta: Problema con fwrite Lo que no entendi es si quieres ingresarlo en una linea en especifico lo quieres ingresar al final. Si es al final lo que te indique en el codigo te puede ayudar. |
Respuesta: Problema con fwrite $buscar nunca será vacío ya que se incluye el final de línea en todos los elementos del array. Prueba usando el flag FILE_IGNORE_NEW_LINES al llamar a file() |
Respuesta: Problema con fwrite Cita:
|
Respuesta: Problema con fwrite Tal vez sea porque al hacer echo parece estar vacío; debido a que no aparece un carácter sino sólo el salto de línea (PHP_EOL) contenido en $buscar. P.S.: Además, si revisas el código, al no usar FILE_IGNORE_ NEW_LINES y unir el array usando un salto de línea estás repitiendo ese salto que está presente en todos los elementos. |
Respuesta: Problema con fwrite Ok corregi verifica si esto es lo que quieres. Lei de nuevo el principio y vi que habias hecho un cambio a lo que escribiste la primera vez y ahora como lo explicaste si entendi lo que quieres hacer :pensando: creo yo
Código PHP:
Ver original |
Respuesta: Problema con fwrite Carajo funcionóooooooo!!! :arriba: Hermano abimaelrc me quito el sombrero con usted. Tremenda jugada la que hiciste en el bucle... Uff y hace rato yo le había llegado cerca, sólo que le metí otro valor a la variable y no la predefiní antes del for. Pero esto que hiciste está más que genial. Gracias! Todo el santo día buscándole la caída al problemita. A esta hora ya estaba buscando ejemplos sin bucles :golpeado: (no me culpen, fue producto de la desesperación). En fin, para quienes quieran saber qué hace este código: éste agrega una nueva línea de un archivo a otro, teniendo nosotros la posibilidad de elegir - a través de la variable $conteo- en cuál número de línea deseamos colocar la frase ($texto). Abimaelrc le agregó el ingrediente que faltaba: que no escriba la línea cada vez que el archivo se refresque. ... Y aún hay quienes piensan que los "viernes de geeks" no son emocionantes :risa:. Saludos! PD: por si las moscas, también le agregué el flag FILE_IGNORE_ NEW_LINES que recomendó David (gracias panita). Es bastante razonable. |
Respuesta: [solucionado] Problema con fwrite Me alegra que lo hayas solucionado :arriba:. Sólo como recomendación final, es conveniente usar la constante PHP_EOL en lugar de \n, ya que la combinación para el fin de línea no siempre es el mismo en todos los sistemas operativos. Saludos. |
Respuesta: [solucionado] Problema con fwrite Gracias. En cuanto a eso noté que ese implode("\n... me elimina todo el intentado y pega las líneas "a la pared". Por ese lado es una lástima ya que me gusta indentar el código, pero lo importante es que funciona al 100%. |
Respuesta: [solucionado] Problema con fwrite Bueno para el indentado el problema no creo que es el implode sino que tienes declarado un trim en la linea
Código php:
Ver original Eso te esta borrando los espacios anteriores. Claro esta, lo estas haciendo porque quieres verificar la linea sino no hace el siguiente if o mejor dicho nunca va a encontrar la linea si esta indentada. Vas a tener que usar Expresiones regulares para verificar cuantos indentados tienes y guardarlos en una variable y despues que hagas el if vuelves a colocarle los indentados |
Respuesta: [solucionado] Problema con fwrite En realidad probablemente no haga falta usar una expresión regular. Ya que el trim() puedes usarlo sólo en la comparación:
Código PHP:
Ver original |
Respuesta: [solucionado] Problema con fwrite Hazle caso a David :borracho: es mejor hacerlo de esa forma. lol |
Respuesta: Problema con fwrite Estimados, no pude evitar meter mis narizotas en este hilo solucionado ya :borracho:. Analizando el código que publicó abimaelrc, aplicando la última sugerencia de David @metacortex, el proceso en sí sólo requiere de una comprobación (if), y el uso de trim() por el tema de las tabulaciones:
Código php:
Ver original Cero bucles. Este código tiene las mismas características (desde el punto de vista de resultado final) que el anterior. Hay algunos puntos a tomar en cuenta que quizás los estés pasando por alto (digo quizás):
Cita:
:adios: |
Respuesta: [solucionado] Problema con fwrite Añadiendo lo que indica okram, si no quieres declarar las tabulaciones puedes encontrarlas antes de añadir la linea. Me refiero a esto
Código PHP:
Ver original :pensando: ya mismo hacemos un sistema operativo con este codigo |
Respuesta: [solucionado] Problema con fwrite Grande okram!!! Qué solución!! Sí, anoche precisamente me preguntaba acerca de la necesidad del bucle, ya que todo era cuestión de entrar, revisar/comparar una línea específica y escribir lo que había en la variable. Es decir, Sólo que los ejemplos que encontré incluían algún tipo de bucle y desistí por embotamiento. Este giro que le diste al asunto es sencillamente increíble. También quedó vigente el FILE_IGNORE_NEW_LINES de David (ahora más que esencial para el script) y la condicional de abimaelrc (variada) para impedir la escritura constante. Ahora sí estoy más feliz que Julie Andrews en la colina. Explicando de qué viene esto: A manera de información, lo que se ha hecho aquí viene resolviendo un importante problema relacionado a la activación automática de funciones de Wordpress a cualquier tipo de archivos, un proceso que hasta ahora se venía haciendo de forma estática, en especial por parte de los desarrolladores de plugins y plantillas. Específicamente requiero de este código para aplicar funciones Ajax en mi plugin, lo cual involucra un archivo externo que debe tener activadas las funciones nativas de Wordpress; para ello es necesario hacer -desde éste- un require_once a cierto archivo del sistema (wp-load.php, ubicado en la raiz del sitio) o de lo contrario devolvería error de función indefinida. El asunto radica en que Wordpress sólo reconoce como "suyo" a un archivo del directorio del plugin: el principal -que se declara mediante una cabecera especial- y activa todas sus funciones sólo a éste, pero "abandona" a los demás. Hasta ahora la forma que se usaba para traer el conjunto de funciones nativas era: Código PHP: Entonces me pregunté por qué no hacer que el mismo WP escriba automáticamente esa línea en otros archivos desde el archivo principal (el que Wordpress sí reconoce) y comencé a buscar documentación hasta completar el código inicial, que terminó funcionando, pero tenía el problemita de la reescritura constante, lo cual aún lo hacía inviable porque los plugins no sólo son consultados en el backend sino cada vez que una web es visitada. El desarrollo (y sus culpables :borracho:) quedaron debidamente documentados en el presente tópico. Y con este último tubazo fulminante de okram finalmente obtuvimos un código optimizado y usable que cumple con su función cabalmente, el cual sin duda alguna será parte esencial para todo plugin de Wordpress desde ahora, eso gracias a ustedes compadres. El código terminado: (Para usarlo debe modificarse los nombres de los archivos) Código PHP: - Imprime la ruta absoluta completa al archivo wp-load.php (el que activa las funciones de Wordpress en archivos estáticos) independientemente del lugar donde se encuentre el directorio del plugin. Si posteriormente la carpeta es movida, el script localizará automáticamente al archivo. - Si el archivo a modificar no es escribible, el script lanzará una advertencia en el panel de que es necesario incluir el código, proporcionando la ruta correcta del mismo en una etiqueta <pre>. - Si el código está correctamente en su lugar, el anuncio no saldrá (aunque el archivo no sea escribible). |
| La zona horaria es GMT -6. Ahora son las 06:26. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.