Html genereren met PHP en downloadprobleem
Ik heb op 'n ander forum een stukje code gevonden om een .HTML pagina te genereren in PHP. Dit PHP progje draai ik op een server (niet lokaal).
Alleen wil ik nu de gegenereerde .HTML pagina op m'n harde schijf zetten.
Als ik dit via FTP doe dan krijg ik een foutmelding! maw: ik kan de .HTML file niet overzetten op mijn harde schijf.
Weet iemand of hier iets aan te doen is?
en wat is de foutmelding?
edit:
en trouwens .html kun je openen en dan opslaan als
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb
:: de foutmelding
'Permission denied for this file' error 550
(Ik gebruik Total Commander voor FTP)
:: openen en opslaan als...
Klopt! ;) alleen wil ik meerdere (als in veel) .HTML files genereren en die (het liefst) in 1 keer allemaal overzetten.
Ook heb ik geprobeerd de atributen van de file te veranderen, maar dit is niet toegestaan.
hier gelijk maar even de code die ik gebruik:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
$html = '
<html>
<head>
<title>This HTML file is made with PHP</title>
</head>
<body>
';
$html .= 'Today is ' .date('l');
$html .= '
</body>
</html>
';
/* If file_put_contents doesn't exists, let's make our own */
if( !function_exists('file_put_contents') ) {
function file_put_contents($file_name, $file_contents) {
/* Open the file */
if( !$handle = fopen($file_name, 'w') ) {
trigger_error("Cannot open file ($file_name)", E_USER_ERROR);
return false;
}
/* Write to it */
if( fwrite($handle, $file_contents) === FALSE ) {
trigger_error("Cannot write to file ($file_name)", E_USER_ERROR);
return false;
}
/* Close it */
fclose($handle);
return true;
}
}
file_put_contents('the_html_file.html', $html);
?>
$html = '
<html>
<head>
<title>This HTML file is made with PHP</title>
</head>
<body>
';
$html .= 'Today is ' .date('l');
$html .= '
</body>
</html>
';
/* If file_put_contents doesn't exists, let's make our own */
if( !function_exists('file_put_contents') ) {
function file_put_contents($file_name, $file_contents) {
/* Open the file */
if( !$handle = fopen($file_name, 'w') ) {
trigger_error("Cannot open file ($file_name)", E_USER_ERROR);
return false;
}
/* Write to it */
if( fwrite($handle, $file_contents) === FALSE ) {
trigger_error("Cannot write to file ($file_name)", E_USER_ERROR);
return false;
}
/* Close it */
fclose($handle);
return true;
}
}
file_put_contents('the_html_file.html', $html);
?>
dit is een test om te kijken of het allemaal kan en wil zodat ik het later kan uitbreiden :)
Mafcase
'Permission denied for this file' error 550
(Ik gebruik Total Commander voor FTP)
De ftp client maakt dan helemaal niet uit. De gebruiker waarmee je inlogd mag niet bij het bestand komen. je zult dus moeten kijken welke gebruiker eigenaar is van dat bestand en eventueel chmod o.i.d. gebruiken om dat te wijzigen.
edit:
waarschijnlijk wordt dit in dat script dat de .html files maakt gedaan dus je zou daar even kunnen kijken en eventueel meteen laten wijzigen
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb
Hmmhm, da's vreemd & snappen doe ik het ook niet helemaal...
Zoals ik al zei: ik kan de atributen niet wijzigen (chmod) terwijl ik netjes ingelogd ben op de server en bijvoorbeeld het .PHP bestand wel kan overzetten.
Hoe kan ik zien wie er dan *wel* de rechten heeft om iets met het bestand te doen?
Kan het soms zo zijn dat de bestandsindeling niet herkend word? Iets met de eerste bytes of een header die vermist word(en)? Of misschien een veiligheids instelling op de server?
Ik zal Apache eens lokaal installeren om te kijken of het dan wel wil lukken...
Als je een bestand aanmaakt vanuit een script dan is Apache de eigenaar.
ALs er iemand nog een ID heeft hoor ik het graag! :)
Grts en bedankt voor de reacties!
Mafcase
Waarschijnlijk werk je lokaal op een windows server/pc en die doet niet zo moeilijk over de rechten (lees beveiligt de rechten niet)
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb