Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Fileupload und fsockopen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Fileupload und fsockopen


 
Kropff
21-10-2004, 13:25 
 
hallo zusammen, ich stehe vor folgenden problemen: mit
$file = 'ID 00006973.xml';
$host = 'xxx.xxx.xxx.xxx';
$port = 80;
$path = '/test/form.php';

srand ((double) microtime() * 1000000);
$boundary = "---------------------------".substr(md5(rand(0,32000)),0,10);
$data = "--$boundary\r\n";
$content_file = join('', file($file));

$data .= 'Content-Disposition: form-data; name="file"; filename="'.$file.'"'."\r\n";
$data .= 'Content-Type: multipart/mixed'."\r\n\r\n";
$data .= $content_file."\r\n";
$data .= '--'.$boundary;
$data .= '--'."\r\n\r\n";

$msg = 'POST '.$path.' HTTP/1.0'."\r\n";
$msg .= 'Content-Type: multipart/form-data; boundary='.$boundary."\r\n";
$msg .= 'Content-Length: '.strlen($data)."\r\n\r\n";

$result = '';
$socket = fsockopen ($host, $port);
fputs ($socket, $msg.$data);
while (!feof ($socket)) $result .= fread($socket,32000);
fclose($socket);
echo $result;

lade ich ein xml-dokument auf einen anderen server. klappt auch alles hervorragend bis auf zwei dinge.

1. wie zum teufel komm ich an das xml-dok heran wenn das in einem unterordner z.b. blubb liegt.
$file = 'blubb/ID 00006973.xml'; oder absolut mit
$file = '/www/blubb/ID 00006973.xml'; klappt das natürlich nicht, weil file ja nur den namen der datei beinhaltet.

2. ich teste das gerade mit unserem intranet-server und unserem webserver. wenn ich bei host(der webserver) die ip-adresse angebe, läuft das anstandslos, wenn ich dagegen die url www.bla.de angebe, wird der server nicht gefunden.

gruss
peter

 
Titus
21-10-2004, 14:54 
 
schon mal versucht, dass Leerzeichen in der Adresszeile durch %20 zu ersetzen?

 
Kropff
21-10-2004, 15:34 
 
ne, da liegst auch nicht dran, hab vorher schon mit einer test.xml gearbeitet. das problem ist ein anderes. in
$data .= 'Content-Disposition: form-data; name="file"; filename="'.$file.'"'."\r\n"; muss $file der Dateiname sein und nichts anderes. aber wie sage ich meinem script, wo die datei liegt. bei einem formular haben ich meinen durchsuchen-button, der fehlt mir hier aber.

peter

 
mrhappiness
21-10-2004, 15:40 
 
$file = 'ID 00006973.xml';
$path = '/www/pfad/zu/'.
$content_file = join('', file($path.$file));
$data .= 'Content-Disposition: form-data; name="file"; filename="'.$file.'"'."\r\n";warum geht das nicht?

oder hab ich das völlig falsch verstanden?

 
Kropff
21-10-2004, 16:17 
 
warum geht das nicht?
$file = 'ID 00006973.xml';
$path = '/www/pfad/zu/'.
$content_file = join('', file($path.$file));


jau, das wirds sein. das kommt davon, wenn man sich seine scripte überall zusammenklaut und nicht genau durchliest.

danke
peter

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:36 Uhr.