script werkt niet vanuit folder

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Frank Jansse

Frank Jansse

18/01/2011 16:01:34
Quote Anchor link
In mijn php pagina heb ik een download plaats gemaakt.
Hierin staan 5 vakjes waarin je 5 verschillende files kan downloaden.
Elke download staat voor een andere teller.

In mijn php pagina waar de download grafisch staat weergegeven staat deze code in een <div>, als je daarop klikt gaat je naar teller1.php die teller1.txt wijzigt:

[html]<div class="boxDiv"><a href="downloads/teller1.php"><img src="images/box.png" alt="box" /></a>
<div class="phpBox">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
 
   $hit_count
= @file_get_contents('http://voorbeeld.com/downloads/teller1.txt');
   echo $hit_count;
   ?>

</div>
</div>[/html]

Mijn teller1.php file:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
 
$url
= 'http://voorbeeld.com/downloads/teller1.txt';
 
$hit_count = @file_get_contents($url);
$hit_count++;
@
file_put_contents($url);
 
header ('Location: http://voorbeeld.com/downloads/inhoud.zip');
 
?>


Wat is mijn vraag?

Dit script, zonder /download/ folder werkt prima.
Dus als ik het voorbeeld script hierboven aanpas en ze in de root zet:
voorbeeld.com/teller.php
voorbeeld.com/teller.txt
voorbeeld.com/inhoud.zip
Dan werkt het.

Maar ik wil dus dit script laten werken met alle downloads en script in
de downloads/ folder. En dan werkt het niet meer.

Ik heb geprobeerd chmod van teller1.txt op 0777 te zetten in de downloads folder.
Maar dat werkt ook niet.
Misschien begrijp ik de functie van chmod ook niet, want
de teller1.txt in root werkt prima onder chmod 0644..

Hoop dat ik niet te ingewikkeld ben..

Jan
Gewijzigd op 18/01/2011 16:03:46 door Frank Jansse
 
PHP hulp

PHP hulp

03/02/2023 14:10:25
 
Dindong Veter

Dindong Veter

18/01/2011 16:14:35
Quote Anchor link
en waarom werkt dit niet?
error, no file found etc?
 
TJVB tvb

TJVB tvb

18/01/2011 16:16:07
Quote Anchor link
errors krijgt die niet omdat die onderdrukt worden met die @

Waarom gebruik je een externe url?
 
Frank Jansse

Frank Jansse

18/01/2011 16:49:41
Quote Anchor link
TJVB tvb op 18/01/2011 16:16:07:
errors krijgt die niet omdat die onderdrukt worden met die @

Waarom gebruik je een externe url?


Omdat ik niet beter weet dan dat de @ erbij moet.

Ik heb ze geprobeerd weg te halen, maar ik krijg allemaal foutmeldingen.
Ik zal het juiste adres invoegen voor de duidelijkheid:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

$url
= 'http://javildesign.com/downloads/001_PSD.txt';

$hit_count = file_get_contents($url);
$hit_count++;
file_put_contents($url);

header('Location: http://javildesign.com/downloads/001_PSD.zip');

?>


En de foutmelding op het moment van schrijven:


Warning: file_put_contents() expects at least 2 parameters, 1 given in /public/sites/www.javildesign.com/downloads/001_PSD.php on line 7

Warning: Cannot modify header information - headers already sent by (output started at /public/sites/www.javildesign.com/downloads/001_PSD.php:7) in /public/sites/www.javildesign.com/downloads/001_PSD.php on line 9

Wat dit zeg is dat php script 2 parameters verwacht en er maar 1 gegeven word..
Vanaf daar zie ik het niet meer, en dan begrijp ik niet wat ik nou fout doe?

Zeg me ook alsjeblieft als ik een andere manier moet gebruiken.
SQL databases is natuurlijk het beste, maar heb daar helemaal geen ervaringen mee..
Gewijzigd op 18/01/2011 16:51:39 door Frank Jansse
 
TJVB tvb

TJVB tvb

18/01/2011 17:00:22
Quote Anchor link
Hij zegt al welke functie: file_put_contents
even naar http://php.net/file_put_contents
wat staat daar?
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
 
Frank Jansse

Frank Jansse

18/01/2011 17:50:02
Quote Anchor link
Ik denk dat je dit bedoeld:

file_put_contents($url, $hit_count);

Of heb ik dat mis? Het werkt niet..

Wat ik zo raar vind is dat het wel werkt in de root, en nu ik
er een folder tussen zet in het script dat het niet werkt.

Ik probeer te begrijpen wat php doet..
Maar ik zie het niet.
Gewijzigd op 18/01/2011 17:51:03 door Frank Jansse
 
- SanThe -

- SanThe -

18/01/2011 17:52:12
Quote Anchor link
Jan G op 18/01/2011 17:50:02:

file_put_contents($url, $hit_count);

Of heb ik dat mis? Het werkt niet..


Klopt.
Wat werkt er niet? Error?
 
Frank Jansse

Frank Jansse

18/01/2011 17:57:44
Quote Anchor link
Dit is het gene wat ik nu krijg:

Warning: file_put_contents(http://javildesign.com/downloads/001_PSD.txt) [function.file-put-contents]: failed to open stream: HTTP wrapper does not support writeable connections in /public/sites/www.javildesign.com/downloads/001_PSD.php on line 7

Warning: Cannot modify header information - headers already sent by (output started at /public/sites/www.javildesign.com/downloads/001_PSD.php:7) in /public/sites/www.javildesign.com/downloads/001_PSD.php on line 9

Er staat natuurlijk zat info in, maar ik zie het niet..
 
- SanThe -

- SanThe -

18/01/2011 18:04:49
Quote Anchor link
HTTP wrapper does not support writeable connections in ...

Oftewel: Je mag niet schrijven naar een url.
 
Frank Jansse

Frank Jansse

18/01/2011 18:11:01
Quote Anchor link
Ok, bedankt.
Ik heb de chmod van de tekst file naar 0777 gezet, helaas werkte dat ook niet.
Ik zal even onderzoeken hoe dat nou kan..

Kan iemand mij misschien uitleggen waarom het wel vanaf de root werkt?
Ik zal mij ondertussen meer verdiepen in php.net om er achter te komen wat ik nu fout doe..

Toevoeging op 18/01/2011 19:41:06:

ik blijf toch problemen houden met het script.
Als het vanaf de root wel werkt,
file_put_contents($url);
Dan begrijp ik op het moment niet hoe ik nu vanuit
001_PSD.php de 001_PSD.txt kan beschrijven.

Warning: file_put_contents() expects at least 2 parameters, 1 given in /public/sites/www.javildesign.com/downloads/001_PSD.php on line 7

Warning: Cannot modify header information - headers already sent by (output started at /public/sites/www.javildesign.com/downloads/001_PSD.php:7) in /public/sites/www.javildesign.com/downloads/001_PSD.php on line 9

Het heeft 2 parameters nodig, maar in de root heeft het dat niet.

Toevoeging op 18/01/2011 20:27:11:

Ik heb het gevonden..
Ik moest relative pad gebruik. Ik dacht de heletijd vanuit het absolute pad.

$url = '001_PSD.txt';

$hit_count = file_get_contents($url);
/*echo $hit_count;*/
$hit_count++;
file_put_contents($url, $hit_count);

Bedankt voor de hulp.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.