PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datei upload funzt net!


P4r4
16.04.2002, 23:50:58
hi @ all

ich versuche nun schon seit einiger zeit ein skript zu schreiben, mit dem ich datein uploaden kann.

zuerst habe ich nun dieses skript geschrieben:

<?php // index.php
setlocale ("LC_TIME", "ge");
/*----Datum----*/
$datum=date(d.M.Y);
/*----Verzeichnis-----*/
$path="$PHP_SELF";
$y=dirname($path);
$z=str_replace("/aegklasse/test/website_klasse/mitglieder/","",$y);
$z=str_replace("_"," ",$z);
$z=eregi_replace("nue","Nü",$z);
$z=eregi_replace("voss","Voß",$z);
$verzeichnis=ucwords($z);
echo "<html>";
echo "<head>";
echo "<title>Verzeichnis von $verzeichnis </title>";
echo "</head>";
echo "<body>";
echo "$datum <br>";
echo "Verzeichnis von $verzeichnis";
echo "<form action='upload.php' method='post' enctype='multipart/form-data'>";
echo "<input type='file' size='50' size='25' maxlength='100000' name='datei' accept='jpg'><br>";
echo "<input type='submit' value='uploaden'>";
echo "</form>";
echo "</body>";
echo "</html>";
?>
-------------
<?php //upload.php
if ($datei != "none") {
$source = $datei;
$source_name = $datei_name;

$path = "images/"; // Der Zielpfad
$dest = $path.$source_name;

if(@copy($source, $dest)) {
$status = "alles OK! Datei kopiert..."; }
else {
$status = "Ein Fehler ist aufgetreten";}
@unlink($source);
}
else {
$status = "Keine Datei angegeben!";}

echo $status;

?>
---------------

nungut, dann habe ich hier ins forum geguckt und dieses beispeil gesehen:

$filename = $file_name;
move_uploaded_file ($file, $root_absolute."doku_upload/".$filename);
------------
dies funktionierte ebensowenig, ich nehme an, da ich den absoluten pfad nicht habe, da ich bei tripod bin.
nungut, dies habe ich dann nochmal auf einen anderen webspace probiert, wo ich den absoluten pfad habe.
---> ging nicht!
------------
in einem anderen forum habe ich dann dieses vorschlag gefunden:
------------
<?php
if (isset($upload)==true)
{
$dateiname=$HTTP_POST_FILES['upload']['name'];
move_uploaded_file ($HTTP_POST_FILES['upload']['tmp_name'], "Pfad zur datei");

}



?>
<form action="<?php $PHP_SELF ?>" enctype="multipart/form-data" method="POST" name="name">
<input type="file" name="datei">
<input type="submit" name="upload">
</form>
-----------------
aber:
...........
ging nicht!
was mache ich falsch?
das ganze soll in das obige php skript index.php eingefügt werden.
THX
P4r4

Nev
17.04.2002, 00:12:13
Hi P4r4

die Scripts di du gepostet hast, die nocht von dir sind funktionieren!!

Nur man muß bei beiden die Pfade ändern.

am einfachsten bekommst du den Absoluten-Pfad mit


echo getcwd();



Zu deinem Script:
der Copy-Befehl funkt auf machen Server nicht, und man muß auch den Pfad angeben

Bei allen Beispielem mußt du die ABSOLUTEN Pfade angeben

P4r4
17.04.2002, 00:29:03
ja aber die datei befindet sich nachher nicht in dem ordner images/ .
woran liegt das?

hier nun mein skript:


<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<?php
setlocale ("LC_TIME", "ge");
/*----Upload----*/
$cwd=getcwd();
$ordner="images/";
if (isset($upload)==true)
{
$dateiname=$HTTP_POST_FILES['upload']['name'];
move_uploaded_file ($HTTP_POST_FILES['upload']['tmp_name'], $cwd.$ordner);

}
/*----Datum----*/
$datum=date(d.M.Y);
/*----Verzeichnis-----*/
$path="$PHP_SELF";
$y=dirname($path);
$z=str_replace("/aegklasse/test/website_klasse/mitglieder/","",$y);
$z=str_replace("_"," ",$z);
$z=eregi_replace("nue","Nü",$z);
$z=eregi_replace("voss","Voß",$z);
$verzeichnis=ucwords($z);
echo "<html>";
echo "<head>";
echo "<title>Verzeichnis von $verzeichnis </title>";
echo "</head>";
echo "<body>";
echo "$datum <br>";
echo "Verzeichnis von $verzeichnis";
echo "<form action='$path' method='post' enctype='multipart/form-data'>";
echo "<input type='file' size='50' size='25' maxlength='100000' name='datei' accept='jpg'><br>";
echo "<input type='submit' value='uploaden'>";
echo "</form>";
echo "</body>";
echo "</html>";
?>

Nev
17.04.2002, 00:36:59
Hi @gain

du hast einen Fehler drin:

$dateiname=$HTTP_POST_FILES['upload']['name'];
move_uploaded_file ($HTTP_POST_FILES['upload']['tmp_name'], $cwd.$ordner);


ersetze die den oben geposteten Teil durch diesen,
dann sollte das Ganze funken:

$filename = $datei_name;
move_uploaded_file ($file, $cwd.$ordner.$filename);


Meld dich dann wieder

P4r4
17.04.2002, 00:50:04
es funzt net :(
ich glaub ich bin einfach zu dumm!

hier der link zu dem skript: http://mitglied.lycos.de/aegklasse/test/website_klasse/mitglieder/alexander_sauer/

und hier nochmal das skript:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<?php
setlocale ("LC_TIME", "ge");
/*----Upload----*/
$cwd=getcwd();
$ordner="images/";
if (isset($upload)==true)
{
$filename = $datei_name;
move_uploaded_file ($file, $cwd.$ordner.$filename);

}
/*----Datum----*/
$datum=date(d.M.Y);
/*----Verzeichnis-----*/
$path="$PHP_SELF";
$y=dirname($path);
$z=str_replace("/aegklasse/test/website_klasse/mitglieder/","",$y);
$z=str_replace("_"," ",$z);
$z=eregi_replace("nue","Nü",$z);
$z=eregi_replace("voss","Voß",$z);
$verzeichnis=ucwords($z);
echo "<html>";
echo "<head>";
echo "<title>Verzeichnis von $verzeichnis </title>";
echo "</head>";
echo "<body>";
echo "$datum <br>";
echo "Verzeichnis von $verzeichnis";
echo "<form action='$path' method='post' enctype='multipart/form-data'>";
echo "<input type='file' size='50' size='25' maxlength='100000' name='datei' accept='jpg'><br>";
echo "<input type='submit' value='uploaden'>";
echo "</form>";
echo "</body>";
echo "</html>";
echo "<br><br><br><a href='images/'>Link in den ordner images/</a>";
?>

stoned
17.04.2002, 10:29:27
hi,


ersetz mal das:
/*----Upload----*/
$cwd=getcwd();
$ordner="images/";
if (isset($upload)==true)
{
$filename = $datei_name;
move_uploaded_file ($file, $cwd.$ordner.$filename);
}

durch das:
/*----Upload----*/
$cwd=getcwd();
$ordner="images/";
if (isset($datei) and $datei != "")
{
copy($datei, $cwd.$ordner.$datei_name);
/* ich weiss grad nicht, ob getcwd() mit abschliessendem slash oder ohne arbeitet. lass dir die variable mal ausprinten und schau das mal nach */
}


mfg

stoned

P4r4
17.04.2002, 11:19:17
geht nicht!

also getcwd() ist ohne / .
also hab ich das noch ergänzt!
aber es geht trotzdem nicht

$cwd=getcwd();
$ordner="images/";
$pfad=$cwd."/".$ordner;
/*----Upload----*/
if (isset($upload)==true)
{
$filename = $datei_name;
move_uploaded_file ($file, $pfad.$filename);

}
----------------------------
das geht auch nicht
----------------------------
$cwd=getcwd();
$ordner="images/";
$pfad=$cwd."/".$ordner;

if (isset($datei) and $datei != "")
{
copy($datei, $pfad.$datei_name);
}

?!?!?!?!?!??????

stoned
17.04.2002, 14:37:31
so,


ich hab hier mal noch kleinigkeiten, die du ausprobieren könntest:

if (isset($datei) and $datei_name != "")
{
copy($datei, $pfad.$datei_name);
}

und im html-code:

echo "<input type='file' size='50' size='25' maxlength='100000' name='datei' accept='image/jpeg'><br>";

so sollte es funktionieren. es gibt keine fehlermeldung von php, deshlab denke ich, dass es in der <form> / beim upload probleme gibt. nun sollte es eigentlich klappen ...



greetz

stoned

P4r4
17.04.2002, 14:57:28
scheisse!
geht nicht.

trotzdem thx!

stoned
17.04.2002, 16:44:59
ich denke mal, dass du im moment meinen letzten vorschlag eingebaut hast. mach mal jegliche @-zeichen weg und lass php die fehlermeldungen zurückgeben (keine eigenen). dann kriegen wir das noch hin ;-)


greetz

stoned

P4r4
17.04.2002, 16:49:45
nene daran lags net!
lag am scheiß tripod webspace! der läuft im safe mode!
habs jetzt auf nen anderen server geladen und da ging es.
kennst du noch nen webspace kostenlos, php4 + mysql, no save mode?

----
mein skript:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<?php
setlocale ("LC_TIME", "ge");
/*

$userfile - The temporary filename in which the uploaded file was stored
on the server machine.

$userfile_name - The original name or path of the file on the sender's
system.

$userfile_size - The size of the uploaded file in bytes.

$userfile_type - The mime type of the file if the browser provided this
information. An example would be "image/gif".

*/

// copy to this directory

$dir="images/";


// copy the file to the server

if (isset($submit)){

copy($userfile,$dir.$userfile_name);

if (!is_uploaded_file ($userfile)){

echo " <b>$userfile_name</b> couldn't be copied!!";
}
}

// check whether it has been uploaded

if (is_uploaded_file ($userfile)){

echo " <b>$userfile_name</b> copied succesfully
!!";

}
/*----Datum----*/
$datum=date(d.M.Y);
/*----Verzeichnis-----*/
$path="$PHP_SELF";
$y=dirname($path);
$z=str_replace("/aegklasse/test/website_klasse/mitglieder/","",$y);
$z=str_replace("_"," ",$z);
$z=eregi_replace("nue","Nü",$z);
$z=eregi_replace("voss","Voß",$z);
$verzeichnis=ucwords($z);
echo "<html>";
echo "<head>";
echo "<title>Verzeichnis von $verzeichnis </title>";
echo "</head>";
echo "<body>";
echo "$datum <br>";
echo "Verzeichnis von $verzeichnis";
echo "<form action='$path' method='post' enctype='multipart/form-data'>";
echo "<input type='file' size='50' maxlength='100000' name='userfile' accept='image/jpg'><br><input type='hidden' name='MAX_FILE_SIZE' value='500000'>";
echo "<input type='submit' name='submit' value='uploaden'>";
echo "</form>";
echo "</body>";
echo "</html>";
echo "<br><br><br><a href='images/'>Link in den ordner images/</a>";
?>

stoned
17.04.2002, 16:53:13
hey, immerhin geht's mal. leider kann ich dir bei der webspace-suche nich viel helfen, da ich für mich ein paket hab ...


:-)

stoned