Foros del Web » Programando para Internet » PHP »

Problema para usar fwrite

Estas en el tema de Problema para usar fwrite en el foro de PHP en Foros del Web. Tengo un problema al escribir en un archivo de texto, con fwrite. He buscado información en diferentes foros y nada he conseguido. Mando por medio ...
  #1 (permalink)  
Antiguo 29/10/2015, 12:53
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Problema para usar fwrite

Tengo un problema al escribir en un archivo de texto, con fwrite. He buscado información en diferentes foros y nada he conseguido. Mando por medio de GET a mi función una cadena desde un editor rtf, lo cual pasa bien, pero al momento de usar el fwrite, me trunca la cadena en dónde encuentra acentos, ñ y otros caracteres.

He usado htmlentities, utf8_encode, utf8_decode entre muchas opciones y nada. ¿Alguna pista de qué es lo que puedo estar haciendo mal?

Saludos.
__________________
__________________________________________________ ___________________________________
Las cosas más reales sólo suceden en la imaginación... Sólo recordamos, lo que nunca sucedió.
  #2 (permalink)  
Antiguo 29/10/2015, 12:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema para usar fwrite

Me gustaría poder ver el código así me evito hacerme ideas locas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 29/10/2015, 13:19
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema para usar fwrite

Cierto este es la función:

Código PHP:
Ver original
  1. function submitForm(id_archivo)
  2.         {
  3.  
  4.             // Crear el objeto jQuery
  5.             $form = $("#archivo-modif");
  6.             // Serializamos el Form
  7.             var formData = $form.serialize(); // En dado caso se serializa el form para que agarre (name) los datos que contiene.
  8.             formData+="&editorText="+CKEDITOR.instances["ckeditor"].getData()+"&id="+id_archivo;
  9.             console.log(formData);
  10.             $.ajax({
  11.                 url: 'index_sql.php',
  12.                 type: 'GET',  
  13.                 data: formData, // aqui se envia los datos para la inserción.
  14.                 cache: false,
  15.                 dataType: 'json',
  16.             });
  17.  
  18.            
  19.             bootbox.alert("Su información ha sido actualizada.", function() {
  20.               window.close();
  21.             });
  22.         }

y recibo

Código PHP:
        case 'programa':

            
$dir $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR."content".DIRECTORY_SEPARATOR."prog".DIRECTORY_SEPARATOR;
            if (!
file_exists($dir)) {
                
mkdir($dir0777true);
                
var_dump("directorio creado");
            }
            
$archivo = @fopen($dir.$_REQUEST["id"] .".html" "w");

            
$text $_REQUEST["editorText"];
            
$text utf8_decode($text);
            
            if (
$archivo !=false){
                
//fwrite($archivo, $_REQUEST["editorText"]);
                
fwrite($archivoutf8_encode($text));
                
fclose($archivo);
                
$msg true;
            }
            else {
                
$msg false;
            }
            echo 
$msg

            break; 
__________________
__________________________________________________ ___________________________________
Las cosas más reales sólo suceden en la imaginación... Sólo recordamos, lo que nunca sucedió.
  #4 (permalink)  
Antiguo 29/10/2015, 14:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema para usar fwrite

Jamás, jamás, jamás uses GET para enviar datos, para eso debes usar el método POST que no tiene restricciones de tamaño.

Así como haces las cosas casi puedo apostar a que el problema radica en cómo es que envías dicho texto.

Si haces la prueba con el mismo script de PHP y un formulario normal sin Javascript ¿funcionará de igual modo?

Por favor has la prueba para descartar que el problema sea de Javascript.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: fwrite, html, usar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:28.