2016-10-09 5 views
-4

Ich versuche, ein Verzeichnis mit einer PHP-Datei darin zu erstellen (dieser Teil funktioniert).fopen PHP-Fehler (erwartet, dass Parameter 1 Ressource ist)

Jetzt versuche ich, dass PHP-Datei und in Daten setzen zu öffnen, aber ich bekomme Fehler:

Warning: fwrite() expects parameter 1 to be resource, string given in C:\wamp\www\dev 3\1\index2.php on line 13

und

Warning: fclose() expects parameter 1 to be resource, string given in C:\wamp\www\dev 3\1\index2.php on line 14

Hier ist mein Code:

<?php 
$directory = substr(md5(rand(1000,10000)),2,8); 
mkdir($directory); 
$dir = './'.$directory.'/index.php'; 
$upload = fopen($dir,'x'); 
$data = ' 
data data data 

'; 
fopen($dir, "w"); 
fwrite($dir, $data); 
fclose($dir); 
?> 
+3

Bei allem Respekt, es beim nächsten Mal eine gute Idee, bei der PHP-Dokumentation für die Funktion (en) Sie haben Probleme mit ** vor ** Herstellung aussehen würden eine Frage zu SO. – Phil

Antwort

1

Sie benötigen ein Ressourcen-Handle und keine Zeichenfolge, wie Ihr Fehler anmutig sagte :)

Verwenden $upload statt $dir:

<?php 
$directory = substr(md5(rand(1000,10000)),2,8); 
mkdir($directory); 
$dir = './'.$directory.'/index.php'; 
$upload = fopen($dir,'x'); 
$data = ' 
data data data 

'; 
/*fopen($dir, "w"); 
fwrite($dir, $data); 
fclose($dir); 
*/ 
fopen($upload, "w"); 
fwrite($upload, $data); 
fclose($upload); 
?> 
+0

das hat es gedankt! :) – Dermot

+0

@Dermot Wenn das gelöst wird, sicher sein, die Antwort zu akzeptieren. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work Sie sollten dies auch bei Ihrer vorherigen Frage tun, wenn dadurch auch Ihr Problem gelöst wurde. – chris85

Verwandte Themen