PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wieder mal: Datei - Upload


Justy
25.08.2003, 14:01:40
Hallo!

Ich habe in einer Windows-Programmiersprache ein Programm geschrieben, das über PHP eine Datei auf meinen Webspace laden soll (konkret: Bild für Webcam):


<?

if(@copy($source,$dest))
{
echo "Datei gesendet!";
}

else
{
echo "Datei konnte nicht gesendet werden!";
}

?>


$source und $dest werden vom Programm übergeben!

Kein schwieriger Code, funzt aber nicht :(
Es wird immer der "else"-Text ausgegeben!
Bitte helft mir!

mfg. Justy

Gweilo
25.08.2003, 14:13:33
Ich habe noch nie mit Copy() ohne formular-upload gearbeitet, aber überprüfe mal folgende mögliche fehlerursachen
- zugriff auf die zu uploadende datei prüfen mit fopen() oder so
- Läuft das Script auf dem Server ab, oder lokal. Wenn Lokal, geht glaube ich der copy befehl nicht, woher will der Server denn wissen, dass du zugriff hast, es dort hinzukopieren.

Ich persönlich würde sowas sowieso eher mit FTP, als mit copy lösen.

Justy
25.08.2003, 14:49:34
Das Script läuft auf dem Server ab!

Gweilo
25.08.2003, 15:01:34
ich verweise mal auf ein anderes Thread, zum Thema FTP:
http://www.selfphp.info/forum/showthread.php?s=&threadid=3817&highlight=ftp%2A

Ich nehme an, du hast dein upload mit einem Formular gemacht. In dem Fall kannst du die Datei folgendermassen kopieren:
if (is_uploaded_file($_FILES['userfile']['tmp_name']))
{
copy($_FILES['userfile']['tmp_name'],$ziel);
}

Justy
26.08.2003, 11:49:37
Also:

Das ist der Code:


<?

if(@copy($source,$dest))
{
echo "Datei gesendet!";
}

else
{
echo "Datei konnte nicht gesendet werden!";
}

?>




$source und $dest werden von einem Minibrowser in meinem Programm übergeben, ähnlich einem Formular mit "PUT"!

z.B. http://ich.server.at/copy.php?source=file:///C:/bild/test.jpg&dest=http://ich.server.at/cam/cam.jpg

Ich hoffe, es hat ein wenig geholfen!

Justy
26.08.2003, 12:00:41
Probiere ich gleich aus! =)

Gweilo
26.08.2003, 12:12:24
das problem ist, dass der Server nicht auf deine lokale festplatte zugreifen kann! Da könntest du ja von jedem user seine Daten auslesen, und das soll auch nicht gehen.

Was du machen musst ist folgendes: Stell das Script auf deinen lokalen Rechner und löse es mit FTP (ähnlich wie das script, das ich oben angegeben habe), welches dann die daten automatisch auf den server lädt.