Question

Je vais avoir des problèmes obtenir un formulaire php pour écrire dans un fichier hébergé avec le dossier apache httpsdocs. La forme fonctionne très bien si toutes les parties de celui-ci utilisent le protocole http, mais quand je fixe la forme, formulaire de soumission et le fichier les résultats sont écrits, il échoue.

Quelqu'un peut-il aider?

Voici le code 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');

Et les différents endroits sont:

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

En outre, ma page formulaire est https://example.com/form.php , et le champ de formulaire redirige vers l'action = « processform.php », alors pourquoi faut-il chercher dans processform.php httpdocs plutôt que httpsdocs? Assurément, il devrait rester dans le même protocole / répertoire tel qu'il a été appelé à partir!

Merci pour toute aide:)

Était-ce utile?

La solution

Vous êtes confus choses. Les urls ne sont pas urls, ils sont des répertoires. Ma première idée est de vérifier les droits du répertoire sécurisé (# de /var/www/vhosts/mysite.co.uk/httpsdocs/files) pour voir si votre utilisateur du serveur web peut y écrire.

Autres conseils

Je deuxième Maarten, c'est definetly un paramètre d'autorisation sur le fichier. Avez-vous chmod'd le fichier? Cela devrait être votre seule question, mais ce type de soumission est encore très précaire si vous le faites sur https. Je voudrais faire le fichier appelé quelque chose comme « data.secured » Ensuite, vous pouvez utiliser les paramètres d'autorisation apache pour « verrouiller off » le fichier d'un accès extérieur / lecture.

<files "*.secured">
order allow,deny
deny from all
</files>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top