Fileupload Mit Php
#1
geschrieben 01. Februar 2005 - 08:07
ich versuch gerade n Uploadformular in PHP zu programmieren.
Da muss der User Angaben machen (Name, Firma, eMail, usw) die Angen werden dann in nem Ordner als Txt-Datei gespeichert, der mit Datum,Uhrzeit und Firmename generiert wird und in der Variablen $dir gespeichert wird. Geht soweit ohne Probleme.
Nur:
Der Fileupload geht nicht, die ganzen Daten werden von nem Formular über post gesendet. Die Datei hat die Var $file. Ich bekomme das einfach nicht hin, dass die Datei in den Ordner $dir kopiert wird.
Hab schon n bissl mit copy rumgespielt, kommt aber jedes mal der Fehler cannot open Stream.
Hat jemand Rat für mich?
Danke. Bobby
Anzeige
#3
geschrieben 01. Februar 2005 - 08:11
#5
geschrieben 01. Februar 2005 - 08:18
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Druckerei Laber GmbH</title>
<style type="text/css">
<!--
@import url(../style.css);
-->
</style>
</head>
<body>
<form action="2.php" method="post" ENCTYPE="multipart/form-data">
<table border="0">
<tr>
<td class="Text_Normal"><p>Bitte die Datei auswählen*</p>
</td>
<td><input type="file" size="17" name="file"></td>
</tr>
<tr>
<td class="Text_Normal">Objektbeschreibung*</td>
<td><input type="text" size="34,5" name="desc"></td>
</tr>
<tr>
<td class="Text_Normal">Firma*</td>
<td><input type="text" size="34,5" name="firma"></td>
</tr>
<tr>
<td class="Text_Normal">Adresse</td>
<td><input type="text" size="34,5" name="adr"></td>
</tr>
<tr>
<td class="Text_Normal">Telefon*</td>
<td><input type="text" size="34,5" name="tel"></td>
</tr>
<tr>
<td class="Text_Normal">eMail*</td>
<td><input type="text" size="34,5" name="mail"></td>
</tr>
<tr>
<td class="Text_Normal">Ansprechpartner*</td>
<td><input type="text" size="34,5" name="ap"></td>
</tr>
<tr>
<td class="Text_Normal">Kommentar</td>
<td><textarea cols="30" name="comm"></textarea></td>
</tr>
<tr>
<td colspan="2" class="Text_Normal"><div align="center">
<input type="submit" value=" OK " class="Text_Normal">
<input type="reset" value="Reset" class="Text_Normal">
</div></td>
</tr>
<tr>
<td class="Text_Klein">*Pflichtangaben</td>
<td> </td>
</tr>
</table>
<form action="form2.php" method="post">
<br>
<br>
<center>
</center>
</form>
</body>
</html>
Das ist der Code in 2.php:
<html>
<head>
<title>Druckerei Laber GmbH</title>
</head>
<body>
<?
//Datum mit Variablen verknüpfen\\
$datum = date("d.m.Y");
$time = date("H.i");
$dir = "$datum - $time - $firma" ;
//Eingabeabfrage\\
if($file == "")
{
echo "Bitte Datei auswählen!<p><a href=java script:history.back()>zurück</a><p></body></html>";
die();
}
if($desc == "")
{
echo "Bitte geben Sie eine Objektbeschreibung ein!<p><a href=java script:history.back()>zurück</a><p></body></html>";
die();
}
if($firma == "")
{
echo "Bitte geben Sie Ihren Firmennamen ein!<p><a href=java script:history.back()>zurück</a><p></body></html>";
die();
}
if($adr == "")
{
echo "Bitte geben Sie Ihre Adresse ein!<p><a href=java script:history.back()>zurück</a><p></body></html>";
die();
}
if($tel == "")
{
echo "Bitte geben Sie Ihre Telefonnummer an!<p><a href=java script:history.back()>zurück</a><p></body></html>";
die();
}
if($mail == "")
{
echo "Bitte geben Sie Ihre eMail-Adresse ein!<p><a href=java script:history.back()>zurück</a><p></body></html>";
die();
}
if($ap == "")
{
echo "Bitte geben Sie den Ansprechpartner diese Auftrages an!<p><a href=java script:history.back()>zurück</a><p></body></html>";
die();
}
//Erstellen des Kundenverzeichnisses\\
mkdir ("Upload/$dir");
//Kundeninformationen in eine Text-Datei schreiben\\
$datei = fopen("Upload/$dir/Kundendaten.txt","a+");
fwrite($datei, "$firma, $desc, $ap, $adr, $tel, $mail, $comm");
fclose($datei);
//Datei in Kundenverzeichnis kopieren bzw. uploaden\\
copy("$file", "Upload/$dir/$file") ;
?>
</body>
</html>
#6 _Benjamin_
geschrieben 01. Februar 2005 - 08:22
was soll das den für ein ordner sein oder habe ich tomaten auf den augen O.o ? zumal du dem ordner Upload chmod 0775(?) / 0777 geben musst damit er sowas machen kann
#7
geschrieben 01. Februar 2005 - 08:26
Wie geb ich ZahlenCodes ein?
(Bin PHP-Anfänger)
#8 _Benjamin_
geschrieben 01. Februar 2005 - 08:41
2. du greifst bsp. via ftp, putty (admin konsole), oder order (direkt am server) auf den ordner upload und gibst ihm LESE, SCHREIBE und AUSFÜHREN rechte
#9
geschrieben 01. Februar 2005 - 08:59
2. Was ist putty? kann ich dem Ordner schon beim erstellen mit mkdir die Rechte geben?
#10 _Benjamin_
geschrieben 01. Februar 2005 - 09:23
2. putty ist ein programm um auf den server zuzugreifen. dazu muss es ein root / vserver sein. wenn du _nur_ kunde bist (webspace) wirst du keinen zugriff drauf bekommen
#11
geschrieben 01. Februar 2005 - 09:35
Zitat (Xandros: 01.02.2005, 09:23)
<{POST_SNAPBACK}>
Ich versteh glaub net so ganz was du mit dem Ordner meinst.
Das php-Script erstellt mit mkdir den Ordner auf ner lokalen Festplatte
Ich hab nen Apache-Server auf Windows Server 2003 (in der Firma), FTP-Server geht auch, nur manche Kunden wissen nicht wie ein FTP-Programm bedient, deswegen will ich eine Maske fuer Browser.
#12 _Benjamin_
geschrieben 01. Februar 2005 - 09:37
steht doch eigentlich da ... du wirst das script doch mal getestet haben oder ?
#13
geschrieben 01. Februar 2005 - 09:41
Der Ordner wird erstellt und die Datei mit den Kundeninfos wird auch generiert. Geht alles fehlerfrei. Hab ich aber schon ganz am Anfang gesagt.
Mir gehts jetzt nur darum, dass der Die Upload-Datei ($file)die von dem Formular ausgewaehlt wird, nicht in das Verzeichnis kopiert. Das geht auch nicht wenn ich ein statischen und schon vorhandenes Verzeichnis auswaehle.
#14 _Benjamin_
geschrieben 01. Februar 2005 - 09:45
okay 2 möglichkeiten kommen mir erstmal in den sin:
1) die schreibrechte (wie oben schon gesagt 0775(?) / 0777)
2) der ordner hat einen zu langen (mit leerzeichen) namen
01.02.2005 - 08:21 - test <= so sieht der doch aus oder ? denke da gibt es nen probleme wegen den leerzeichen ...
#15
geschrieben 01. Februar 2005 - 09:48
Ich hab das ja auch schon mit ner statischen kurzen Angabe (upload/) versucht. ging aber auch net.
Wie muss dann der Befehl aussehen fuer die Schreibrechte des Ordners?
- ← Batch: Variable Aus Registry Lesen?
- Skript/Web-Programmierung
- Programm Um In Kurzer Zeit High End Hp Zu Machen →

Hilfe
Neues Thema
Antworten
Nach oben

