Ich sehe an keiner Stelle, dass die Datei auf den Server kopiert wird (z.B. mittels copy()).
Mit move_uploaded_file() kopierst Du lediglich serverseitig aus dem Temp- in das Zielverzeicchnis
hi @ all
ich bins wieder euer php n![]()
b .
also ich hab nochmal ein problem.
ich habe versucht nen skript zu schreiben, mit dem ich jpg's auf meinen webspace hochladen kann.
ich habe mich jetzt schon mit einigen leuten unterhalten, die nen bischen mehr ahnung davon haben und ebenfalls schonmal so ein skript geschrieben haben.
jedoch haben die den fahler auch nicht gefunden.
hier das skript, wär echt super, wenn ihr mir helfen könntet :
hier noch der link zum skript:<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<?php
setlocale ("LC_TIME", "ge");
$cwd=getcwd();
$ordner="images/";
$pfad=$cwd."/".$ordner;
/*----Upload----*/
if (isset($upload)==true)
{
$filename = $datei_name;
move_uploaded_file($file, $pfad.$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' maxlength='100000' name='datei' accept='image/jpeg'><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>";
?>
http://mitglied.lycos.de/aegklasse/t...exander_sauer/
Ich sehe an keiner Stelle, dass die Datei auf den Server kopiert wird (z.B. mittels copy()).
Mit move_uploaded_file() kopierst Du lediglich serverseitig aus dem Temp- in das Zielverzeicchnis
jaja dieses beispiel kenn ich auch schon![]()
ich habs jetzt so wie bei http://www.php.net/manual/de/function.copy.php
... couldn't be copied! ...
woran kann das liegen?
------------
<!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/jpeg'><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>";
?>
Welche Rechte hast Du denn dem Zielverzeichnis gegeben?
alles was nur irgendwie möglich war = chmod: 7777
allerdings stellt sich das immer wieder aus 7666 um
läuft das script bei dir zuhause?
welchen provider hattu? manche fahren im save-mode, da ist ein dateiupload net so einfach möglich.
lf
mein localhost ist im moment putt, wollte den server updaten, nun ist die php.exe putt
habs gerade aber noch auf nen anderen server geladen.
da geht es jetzt (xtserver.net).
vorhare hab ich bei tripod gebastelt, da ging es nicht.
thx aber!!
Dann haben wir den Fehler ja gefunden -> Tripod + Safe Mode
Erledigt oder gibt es weitere Fragen?![]()
nö eigendlich nicht
thx
außer ... kennt noch wer nen kostenlosen webspace mit php + mysql wo das geht?
Schau mal im Provider-Board, da gab's diese Frage schon des öfteren.![]()
mir ist da nochwas eingefallen!
liesse sich dies nicht auch über die ftp funtionen von php realisieren?
ich habs mal versucht, aber das haut glaube ich mit dem file feld nicht so ganz hin. keine ahnung![]()
PHP-Code:<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<?php
/*----Datum----*/
$datum=date(d.M.Y);
/*----Verzeichnis-----*/
$path="$PHP_SELF";
$dirname=dirname($path);
$ordner=str_replace("/aegklasse/mitglieder/","",$dirname);
$dir_replace=str_replace("_"," ",$ordner);
$dir_replace=str_replace("/","",$dir_replace);
$dir_replace=eregi_replace("nue","Nü",$dir_replace);
$dir_replace=eregi_replace("voss","Voß",$dir_replace);
$verzeichnis=ucwords($dir_replace);
$logo="logo.jpg";
if ($delate) {
if (is_file($dir.$logo)) {
unlink($dir.$logo);
}
} //----------->FTP connect --------------//
elseif ($userfile && $userfile!="none") {
// datei zum server kopieren
if ($pw == $filepw && $login) {
if (isset($submit)){
$ftp_fullpath = "mitglieder/".$ordner."images/";
$ftp_server = "ftp.tripod.de, 21";
$ftp_user_name = "username";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, "meinPasswort");
if ((!$conn_id) || (!$login_result)) {
echo "<b>FTP Connection nicht möglich!<br><br></b>";
die;
}
else {
echo "<b>Connected to ".$ftp_server."/".$ftp_fullpath."<br><br></b>";
if (ftp_chdir($conn_id, $ftp_fullpath)) {
if ($upload = ftp_put($conn_id, $destination_file, $userfile, "FTP_ASCII")) {
echo "<b>Upload erfolgreich!<br><br></b>";
ftp_close($conn_id);
}
}
else {
echo "<b>Wächseln ins Verzeichnis $ftp_fullpath war nicht möglich!<br><br></b>";
}
}
}
}
elseif ($pw == $filepw2 && $login) {
if (isset($submit)){
$ftp_fullpath = "mitglieder/".$ordner."images/";
$ftp_server = "ftp.tripod.de, 21";
$ftp_user_name = "username";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, "meinPassword");
if ((!$conn_id) || (!$login_result)) {
echo "<b>FTP Connection nicht möglich!<br><br></b>";
die;
}
else {
echo "<b>Connected to ".$ftp_server."/".$ftp_fullpath."<br><br></b>";
if (ftp_chdir($conn_id, $ftp_fullpath)) {
if ($upload = ftp_put($conn_id, $destination_file, $userfile, "FTP_ASCII")) {
echo "<b>Upload erfolgreich!<br><br></b>";
ftp_close($conn_id);
}
}
else {
echo "<b>Wächseln ins Verzeichnis $ftp_fullpath war nicht möglich!<br><br></b>";
}
}
}
}
}
elseif (isset($submit) && !$userfile) {
echo "Keine Eingabe!<br>";
}
/*----Normaler html Teil----*/
echo "<html>";
echo "<head>";
echo "<title>Verzeichnis von $verzeichnis </title>";
echo "</head>";
echo "<body bgcolor='#8a8a8a'>";
echo "$datum <br>";
echo "Verzeichnis von $verzeichnis <br><br>";
/*----Bild bearbeiten login----
------Datei öffnen----*/
$pwfilepath = "password/.posd547df5e7_d5f47e89g";
$fp = fopen($pwfilepath, "r");
$str = fgets($fp, "100");
$arr = explode("!", $str);
$filepw = $arr[0];
$filepw2 = $arr[1];
if ($cook_usrlog){
$pw = $cook_usrlog;
}
if ($login && !$pw) {
echo "<form action='$path' method='post' enctype='multipart/form-data'>";
echo "<input type='password' name='pw'><br>";
echo "<input type='submit' name='login' value='login'><br><br><br>";
echo "</form>";
echo "<a href='index.php'><<- back</a><br><br>";
}
elseif ($pw == $filepw && $login) {
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'><br>";
echo "<input type='checkbox' name='delate'> Logo nur löschen!<br><br>";
echo "<input type='submit' name='submit' value='uploaden'>";
echo "</form>";
echo "<a href='index.php'><<-back</a><br><br>";
include "../../cook_usrlog.php";
}
elseif ($pw == $filepw2 && $login) {
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'><br>";
echo "<input type='checkbox' name='delate'> Logo nur löschen!<br><br>";
echo "<input type='submit' name='submit' value='uploaden'>";
echo "</form>";
echo "<a href='index.php'><<-back</a><br><br>";
include "../../cook_usrlog.php";
}
elseif ($pw) {
if ($pw != $filepw || $pw != $filepw2) {
echo "<h3>Passwort falsch!</h3><br><br><br><a href='index.php'><<-back</a><br><br>";
}
}
//----Datei schließen----
fclose($fp);
//----Datei geschlossen----
echo "Aktuelles Logo:<br><br>";
/*----Datei Check----*/
$logo2 = "images/logo.jpg";
$default = "images/default.jpg";
if (file_exists($logo2)) {
echo "<img src='$logo2' border='0'>";
}
elseif (file_exists($default)) {
echo "<img src='$default' border='0'>";
}
else {
echo "Es steht kein Logo zur verfügung";
}
/*----Datei Check Ende----*/
if (!$login) {
if (!$cook_usrlog) {
echo "<br><br><br><br><a href='index.php?login=1'>login</a>";
}
elseif ($cook_userlist) {
echo "<br><br><br><br><a href='index.php?login=1'>edit</a>";
}
}
echo "</body>";
echo "</html>";
?>
achja:
file : ../../cook_usrlog.php :
PHP-Code:<?php
if (!$cook_usrlog) {
setcookie("cook_usrlog", $pw, "", "", "", 0);
echo "cookie gesetzt inhalt = $cook_usrlog<br>";
}
?>
Hi,
das Problem ist meiner Ansicht nach, dass, wurscht wie das Skript aussieht, der Upload immer per http erfolgt, da das Formular mit method="POST" und multipart/formdata das einfach so tut.
Wenn die Daten dann upgeloaded sind und im temporär-Verzeichnis des Servers liegen, erst dann kommt das PHP-Skript in Aktion und kopiert die Daten, verschickt sie per mail oder was auch immer.
Würde auch gerade eine Möglichkeit brauchen, größere Dateien mit 3-4 MB uploaden zu können, habe aber noch keine Lösung gefunden. Der ftp-Zugang ist für Endbenutzer absolut unzumutbar, das muss irgendwie über upload per Formular gehen. Aber wie![]()
Gruß, Jürgen
wenns dein server /provider nicht unterstützt nicht unterstützt hast du wohl leider pech gehabt ....
wüsste keine lösung ausseren provider lieb zu fragen
P4r4: nettes script, beim überfliegen eine echte augenweide...![]()
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)