von DJOtti |
Vielen Dank, Languitar.
Manchmal steht man da, wie ein Ochs vorm Berg. Natürlich hast du recht, jetzt funktioniert es auch.
Gruss |
von languitar |
du führst den in $sql gespeicherten Query ja gar nicht aus. dann kann auch nichts in der DB landen. |
von DJOtti |
Hallo,
kann mir auch jemand helfen, bin nicht so das Programmiergenie. Versuche mit diesem Code die Datei auf einen Server zu laden und gleichzeitig den Datei-Namen (strFileName) und die Beschreibung (bildername) in eine DB-Tabelle (newsbilder) zu schreiben. Aber irgendwie bekomme ich hiermit nur den Upload hin, er schreib mir nichts in die DB.
Wäre nett, wenn mir irgendeiner helfen könnte.
Gruss
Frank
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68: | <?php
//Verbindung zum Datenbankserver
include ("mysql.php");
?>
<?php
$pfad = "/home/www/web***/images/news"; # absoluter Pfad zum Uploadordner / Chmod 7-7-7
$numfiles = "1"; # Anzahl der Uploadfelder
$b_min = "10"; # minimale Bytes
$b_max = "1048576"; # maximale Bytes / 1024 Bytes = 1 KB / 1024 KB = 1 MB
$mb = $b_max/1048576;
$mb = round($mb, 2);
// Datei hochladen
if (isset($sendfiles)){
if ("$bildername" == "" ) {
echo ("<p> <p>Es muss mindestens der Name eingetragen werden !!!<p><a href='javascript:history.back()'>zurück</a><p>");
exit();
} else {
$numsendfiles = count($HTTP_POST_FILES);
foreach($HTTP_POST_FILES as $strFieldName => $arrPostFiles){
if ($arrPostFiles['size'] > $b_min && $arrPostFiles['size'] < $b_max){
$strFileName = $arrPostFiles['name'];
$strFileTemp = $arrPostFiles['tmp_name'];
@copy ($strFileTemp, "$pfad/$strFileName");
echo "<br><span class=\"grossschrift\"><font color=#820000><b>Datei <u>$strFileName</u> erfolgreich hochgeladen.</b></font></span><br>";
$bildername = strip_tags($bildername);
$strFileName = strip_tags($strFileName);
$bildername = str_replace('"', "'", $bildername);
$strFileName = str_replace('"', "'", $strFileName);
// $sql = "insert into (bildername,strFileName) VALUES( '$bildername', '$strFileName')";
$sql = "insert into newsbilder set
bildername = '$bildername',
strFileName = '$strFileName'";
}else{
echo "<br><span class=\"grossschrift\"><font color=red><b>Die Datei muß größer als $b_min Bytes und kleiner als $mb MB sein!</b></font></span><br>";}
}
} // if
} // if (isset($sendfiles))
?>
<table cellspacing="0" cellpadding="0" border="0"><tr><td>
Die Datei darf nicht größer als <?php echo "$mb"; ?> MB sein.<br>
<form enctype="multipart/form-data" method="post" action="<? echo $PHP_SELF ?>">
<?php
echo " Bildername:<br><input name=bildername type=text class=text size=40><br><br>";
echo "<b>$numfiles</b> ";
echo $numfiles == '1' ? 'Datei kann' : 'Dateien können';
echo ' hochgeladen werden.<p>';
for ($i=1; $i<=$numfiles; $i++){
echo "<input type=\"File\" name=\"myfile$i\" class=\"input\"><br>\n";}
echo '<br><br><input type="Submit" name="sendfiles" value="hochladen" class="button"><br>';
?>
</form> |
|
von subjective |
Ich hatte das ja schon darauf eingeschränkt, das Upload- und Seitenserver identisch wären.
Du hast natürlich recht. Bei einem solchen verteilten System, wie du es beschreibst, macht es sehr viel Sinn den zweiten Teil der Strecke FTP zu nutzen. |
von raiserle |
achso, vergessen...
bei anderen scripten von mir, wird natürlich nur http(php) benutzt,
um bilder hochzuladen...
wie bei dem mit ftp, wird der pfad dann wieder in der mysql hinterlegt....
hätte vielleicht nen anderes script raussuchen sollen, um das hier nicht
unnötig zu komplizieren. das war aber gleich das erste, was ich in die finger bekommen
habe. |
|