login  Naam:   Wachtwoord: 
Registreer je!
 Forum

een php bestand aanmaken op eigen pc via functie

Offline ZG1988 - 17/07/2006 00:19 (laatste wijziging 17/07/2006 00:20)
Avatar van ZG1988Gouden medaille

überleet
  1. // zoeken naar een file dat nog niet bestaat
  2. $i = 0;
  3. while( file_exists($path . "/" . $i) == True ){
  4. $name = $i . ".php";
  5. $i++;
  6. }
  7. // bestand openen om te schrijven
  8. $fh = fopen($path.$name, 'w') or die("can't open file");
  9.  
  10. // inhoud wegschrijven
  11. fwrite($fh, $_POST['html']);
  12.  
  13. // en terug sluiten
  14. fclose($fh);


aanschouw mijn code 
alleen krijg ik deze error 

  1. Warning: fopen(../user_pages/frederik) [function.fopen]: failed to open stream: Permission denied in C:\Persoonlijke mappen\Frederik\Websites\PHP\Amerika\Admin\functies\pagina\nieuwepagina.php on line 80
  2. can't open file

4 antwoorden

Gesponsorde links
Offline roelh - 17/07/2006 00:22
Avatar van roelh PHP gevorderde Bestaat het bestand wel? Of goeie path aangegeven?
Denk dat dat het moet zijn iig
Offline Maarten - 17/07/2006 00:27
Avatar van Maarten Erelid Als je PHP5 hebt moet je dat ook gebruiken (als je het niet hebt moet je upgraden 
  1. <?php
  2. $file = $name.$path;
  3. touch($file);
  4. file_put_contents($file, 'ZG is aap');
  5. ?>


Maar aan je error te zien wordt die $name niet aan $path gezet.. probeer eens door eerst een $file variabele te maken en deze dan in je functie te gebruiken..?
Offline ZG1988 - 17/07/2006 00:31 (laatste wijziging 17/07/2006 00:36)
Avatar van ZG1988 Gouden medaille

überleet
op men webhost hebk geen php5 dermee :f

okee ga nu ff uitteste door die dingen aan mekaar te linke 
btw da bestand moet toch nog ni bestaan eh ?


Edit : Zg hits himself and writes a note : " don't work this late "

er bestond nooit een enkel bestand, dus die while is nooit uitevoerd => in $name stond er niks 

  1. // zoeken naar een file dat nog niet bestaat
  2. $i = 0;
  3. $name = $i . ".php";
  4. while( file_exists($path . "/" . $i) == True ){
  5. $name = $i . ".php";
  6. $i++;
  7. }
  8. // bestand openen om te schrijven
  9. $file = $path.$name;
  10. echo $file;
  11. $fh = fopen($file, 'w') or die("can't open file");
  12.  
  13. // inhoud wegschrijven
  14. fwrite($fh, $_POST['html']);
  15.  
  16. // en terug sluiten
  17. fclose($fh);
Offline xSc - 17/07/2006 07:21 (laatste wijziging 17/07/2006 07:23)
Avatar van xSc Onbekend Je code is best 'gevaarlijk'. Stel dat je 10.000 bestanden krijgt, dan moet je code eerst elk bestand gaan controleren of het bestaat. Misschien kun je beter een los tellertje bijhouden.

Om op jouw probleem terug te komen ...

Wat je kunt doen:
- Laat PHP de map, waarin de bestanden komen, aanmaken (mkdir)
- Geef als chmod bijv. 0755
- PHP is nu de eigenaar (7)
- Nu kun je php rustig de bestanden laten schrijven.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.235s