Pregunta

Estoy teniendo problemas para conseguir una forma de PHP para escribir en un archivo alojado con el Apache httpsdocs carpeta. La forma funciona bien si todas las partes del mismo están utilizando el protocolo http, pero cuando fijan la forma, el envío de formularios y el archivo de los resultados se escriben en, falla.

¿Alguien puede ayudar?

Este es el código php:

$myFile = "files/data.txt";
$fh = fopen($myFile, 'a') or die ("Could not read file");
$stringData = "Data in pipe format\n";
fwrite($fh, $stringData);
fclose($fh);
header( 'Location: http://www.example.com/thankyou');

Y las diversas ubicaciones son:

  • /var/www/vhosts/example.com/httpdocs/files
  • /var/www/vhosts/example.com/httpsdocs/files

Además, mi página de formulario es https://example.com/form.php , y el campo de formulario redirige a la acción = "processform.php", así que ¿por qué se parece a processform.php en httpdocs en lugar de httpsdocs? Sin duda, debe permanecer dentro del mismo protocolo / directorio que el que fue llamado!

Gracias por cualquier ayuda:)

¿Fue útil?

Solución

Usted está confundiendo las cosas. Las URL no son direcciones URL, son directorios. Mi primera idea es comprobar los derechos del directorio seguro (# /var/www/vhosts/mysite.co.uk/httpsdocs/files) para ver si su usuario del servidor web puede escribir allí.

Otros consejos

Me segunda Maarten, esto es sin duda un permiso que establezca en el archivo. ¿Te chmod'd el archivo? Ese debe ser su único problema, sin embargo, este tipo de presentación es muy inseguro, incluso si lo hace a través de HTTPS. Me gustaría hacer el archivo llamado algo así como 'data.secured' A continuación, puede utilizar la configuración de permisos de Apache para 'bloquear off' el archivo desde el acceso externo / lectura.

<files "*.secured">
order allow,deny
deny from all
</files>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top