Domanda

Sto avendo problemi di ottenere una forma php per scrivere in un file ospitato con l'apache httpsdocs cartella. Il modulo funziona bene se tutte le parti di esso sono utilizzando il protocollo HTTP, ma quando ho fissare il modulo, modulo di presentazione e il file i risultati vengono scritti, non riesce.

Chiunque può aiutare?

Questo è il codice 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');

E le varie posizioni sono:

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

Inoltre, la mia pagina del modulo è https://example.com/form.php , e il campo di modulo reindirizza al action = "processform.php", perché fa apparire per processform.php in httpdocs piuttosto che httpsdocs? Sicuramente dovrebbe rimanere entro lo stesso protocollo / directory come era chiamato da!

Grazie per qualsiasi aiuto:)

È stato utile?

Soluzione

Sei cose confuse. Gli URL non sono gli URL, che sono le directory. La mia prima idea è quella di controllare i diritti della directory protetta (# /var/www/vhosts/mysite.co.uk/httpsdocs/files) per vedere se l'utente server web può scrivere lì.

Altri suggerimenti

I secondi Maarten, questo è sicuramente un ambiente sul file permesso. Avete chmod'd il file? Questo dovrebbe essere il vostro unico problema, tuttavia questo tipo di presentazione è molto insicuro, anche se lo si fa su https. Vorrei fare il file chiamato qualcosa come 'data.secured' Quindi è possibile utilizzare le impostazioni di autorizzazione di Apache per 'bloccare off' il file da accessi esterni / lettura.

<files "*.secured">
order allow,deny
deny from all
</files>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top