[php] een bestand aanmaken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben al uren aan het zoeken naar een oplossing op php.net maar ik krijg het niet gevonden.

Ik zoek naar een methode om een bestand aan te maken, en dan niet:
- tempnam();
- tmpfile();
Maar een meer iets waarmee je in een map ofzow zeg dit bestand maak: tmp.txt en daarna wil ik dat bestand gaat editen met fopen(); fwrite(); fputs(); fclose(); e.d.. En daarna het bestand kopieeren naar een andere map met copy(); en dan renamen naar $id.php met de functie rename();

Het enigste probleem is dat het bestand aan maken gewoon niet lukt. Ik heb het met beide bovenstaande functies geprobeert. Bij de bovenste komen ze in de map:
- HOST/var/tmp/$eennaam
En als je die wilt renamen of copieren geeft hij een error aan omdat hij het niet kan vinden.

Bij de 2e is het bestand aangemaakt op de server maar dan virtueel, dus zonder echt effect te hebben of zonder dat het bestand te gebruiken is.

Ik ben hard op zoek naar een functie, of meerdere samen die ervoor zorgen dat ik een bewerkbaar bestand aan kan maken, kan renamen, kopieeren, verwijderen, noem maar op.

Wie weet er misschien een functie. Noem alleen maar de functie, dan zoek ik zelf wel wat meer info op, want ik kom er echt niet meer uit :/

Alvast bedankt,

- Frag

Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 18-09 12:47

killercow

eth0

volgens mij maakt php automatisch een file aan als deze er niet is en je er toch naar wilt schrijven, maar ik kan het ook erg fout hebben, lijkt me iig het proberen waard.

files verwijderen doe je met unink();

[ Voor 11% gewijzigd door killercow op 06-01-2003 17:24 ]

openkat.nl al gezien?


Acties:
  • 0 Henk 'm!

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

Je probleem is niet het gebruik van functies vermoed ik, maar het gebrek aan schrijfrechten.
Je geeft niet heel veel info over je probleem. Wordt het bestand aangemaakt als je het opent met fopen("/var/tmp/$eennaam", "a+")?
Als je er naar schrijft, staat er dan data in?
Wat voor meldingen krijg je verder? Weet je bijvoorbeeld zeker dat je met de goede variabelen werkt?

Localhost, sweet localhost


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
kvdveer schreef op 06 januari 2003 @ 17:23:
Je probleem is niet het gebruik van functies vermoed ik, maar het gebrek aan schrijfrechten.
Je geeft niet heel veel info over je probleem. Wordt het bestand aangemaakt als je het opent met fopen("/var/tmp/$eennaam", "a+")?
Als je er naar schrijft, staat er dan data in?
Wat voor meldingen krijg je verder? Weet je bijvoorbeeld zeker dat je met de goede variabelen werkt?
Nou het leuke is, alles werkt, behalve copy(); en rename();

Dat vind ik dus zo vreemd. Ook kan ik niet zien wat voor data erin staat omdat hij 'niet bestaat'. Via FTP kan ik het bestand niet vinden.

Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 18-09 12:47

killercow

eth0

jah dat was het, als je een file wilt openen en deze is er niet, dan wordt deze mist er genoeg rechten zijn aangemaakt. mischien is het handig om even te kijken wat de preciece string is die je probeert als file pad.
[edit]
ben je toevallig bezig met het bestand te renamen/copyen naar een andere dir?
en heb je in die dir de rechten nog niet goed gezet?, dan zou het kunnen dat je in je orginele dir wel rechten hebt (cgi-bin??) maar in de sub dir (die je zelf hebt aangemkaat wellicht) niet genoeg rechten hebt om te schrijven.

[ Voor 43% gewijzigd door killercow op 06-01-2003 17:28 ]

openkat.nl al gezien?


Acties:
  • 0 Henk 'm!

  • TA2
  • Registratie: Februari 2002
  • Laatst online: 30-09-2022

TA2

Ik weet niet wat voor besturings systeem je gebruikt maar onder linux kun je gewoon een php exec commando gebruiken. Ik kan nu ff niet kijken hoe precies (zit op me werk) maar zoek even naar het exec
commando dan kun je alles maken, wissen, moven, enz..
Zorg wel dat de map waar je t in wegschrijft door een user gebruikt mag worden.

Acties:
  • 0 Henk 'm!

  • blackd
  • Registratie: Februari 2001
  • Niet online
TA2 schreef op 06 January 2003 @ 17:27:
Ik kan nu ff niet kijken hoe precies (zit op me werk) maar zoek even naar het exec
commando dan kun je alles maken, wissen, moven, enz..

Waarschijnlijk met het 'touch' commando icm exec van PHP?

9000Wp o/w SolarEdge SE6K - Panasonic 5kW bi-bloc - gasloos sinds 17-7-2023


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb ff dit stukje:
PHP:
1
2
3
4
5
6
7
<?
                $file = tempnam ("/Scripts", "FOO");
                $fp = fopen($file, "w");
                fwrite($fp, "$l->source");
//              copy("$file", "Scripts/$file");
                rename("$file", "$id.php");
?>


ERROR:

Warning: Unable to create 'Scripts//var/tmp/FOO9RlO6D': No such file or directory in /opt/domain/www.civfan.com/Admin/index.php on line 141

Warning: rename() failed (Permission denied) in /opt/domain/www.civfan.com/Admin/index.php on line 142

[ Voor 50% gewijzigd door Verwijderd op 06-01-2003 17:31 ]


Acties:
  • 0 Henk 'm!

  • TA2
  • Registratie: Februari 2002
  • Laatst online: 30-09-2022

TA2

exec ("echo 'blablabla' >/text")

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb nu idd met touch(); gevonden wat ik zocht... Bedankt.

Ff een slotje aanvragen

Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 18-09 12:47

killercow

eth0

er zitten toch al 2 foutjes in, ten eerste heb je achter scripts een / staan en aan het begin van $file heb je er ook een staan, vandaar het pad met 2 slashes, ten tweede denk ik dat je idd geen dir hebt genaamd Scripts//var/tmp/ iets en dus dat je nog eens goed moet nadenken of je de waarde van $file wel goed hebt.

en als laatste zou ik alle loze quotes om variablen even weghalen want die zijn niet nodig.

openkat.nl al gezien?

Pagina: 1