php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.12.2011, 17:14  
Neuer Benutzer
 
Registriert seit: 05.03.2010
Beiträge: 19
PHP-Kenntnisse:
Fortgeschritten
mbauer befindet sich auf einem aufstrebenden Ast
Standard Google Image Upload

Hallo zusammen,

ich würde gerne bei der Google-Bildersuche ein Bild uploaden. Das Problem besteht darin, dass ein Fingerprint erzeugt wird und etliche Redirects drin sind.

Ich habe das Formular in HTML nachgebaut und das funktioniert auch so:

Code:
<html>
<head>
</head>
<body>
<form action="http://images.google.com/searchbyimage/upload" enctype="multipart/form-data" method="post">
<input type="file" name="encoded_image">
<input type="hidden" name ="image_content" value="">
<input type="hidden" name ="filename" value="">
<input type="hidden" name ="hl" value="de">
<input type="hidden" name ="sa" value="G">
<input type="hidden" name ="bih" value="373">
<input type="hidden" name ="biw" value="1135">
<input type="hidden" name ="btnG" value="Suchen">
<input type="hidden" name ="image_content" value="">
<input type="submit">
</form>
</body>
</html>
Jetzt würde ich das Bild gerne mit cUrl hochladen.
Das mache ich so:
PHP-Code:
<?php
define
("URL","http://images.google.com/searchbyimage/upload");
 
$file =  "D:\010.jpg";

    
$fields = array(
      
'image_content'=>'',
      
'hl'=>'de',
      
'sa'=>'G',
      
'bih'=>'373',
      
'biw'=>'1135',
      
'filename'=>'',
      
'btnG'=>'Suchen',
      
'encoded_image'=>@$file
    
);
     
    
$ch curl_init();
    
curl_setopt($chCURLOPT_URLURL);
    
curl_setopt($chCURLOPT_POST1);
    
curl_setopt($chCURLOPT_AUTOREFERER1);
    
curl_setopt($chCURLOPT_FOLLOWLOCATION,1);            
    
curl_setopt($chCURLOPT_POSTFIELDS$fields);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
$output curl_exec($ch);
    echo 
curl_error($ch);
    echo 
$output;
    
curl_close($ch);
?>
Allerdings lande ich dann auf der Startseite und nicht auf der eigentlichen Antwortseite mit den Suchergebnissen.

Hat jemand einen Tipp für mich?

Vielen Dank im Voraus!

Grüße

Mathias
mbauer ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.12.2011, 17:36  
Erfahrener Benutzer
 
Registriert seit: 19.06.2009
Beiträge: 837
PHP-Kenntnisse:
Fortgeschritten
Jens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nett
Standard

Zwei Dinge solltest Du bedenken:

1) Die Google TOS:
Zitat:
5.3 You agree not to access (or attempt to access) any of the Services by any means other than through the interface that is provided by Google, unless you have been specifically allowed to do so in a separate agreement with Google. You specifically agree not to access (or attempt to access) any of the Services through any automated means (including use of scripts or web crawlers) and shall ensure that you comply with the instructions set out in any robots.txt file present on the Services.
2) Das PHP-Manual:
Zitat:
CURLOPT_POSTFIELDS The full data to post in a HTTP "POST" operation. To post a file, prepend a filename with @ and use the full path. The filetype can be explicitly specified by following the filename with the type in the format ';type=mimetype'. This parameter can either be passed as a urlencoded string like 'para1=val1&para2=val2&...' or as an array with the field name as key and field data as value. If value is an array, the Content-Type header will be set to multipart/form-data. As of PHP 5.2.0, value must be an array if files are passed to this option with the @ prefix.
Gruß Jens
Jens Clasen ist offline   Mit Zitat antworten
Alt 22.12.2011, 18:36  
Neuer Benutzer
 
Registriert seit: 05.03.2010
Beiträge: 19
PHP-Kenntnisse:
Fortgeschritten
mbauer befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für deine Antwort.

zu 1.) Ich benötige ein einmaliges Upload für ein gesamtes Script, welches wir für eine Studienarbeit einsetzen. Ich denke und hoffe, dass dies kein Problem darstellt.

zu 2.) Ich habe doch ein Array eingesetzt. D.h. die Datei wird per multipart/form-data encryptet und gesendet, genau wie in dem selbst erstellten HTML-Formular. Habe ich etwas übersehen oder falsch verstanden?
Ich nutze PHP 5.3.1.

Grüße

Mathias
mbauer ist offline   Mit Zitat antworten
Alt 22.12.2011, 19:09  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zitat:
PHP-Code:
$file =  "D:\010.jpg"
Lass dir das mal ausgeben, wenn das ne Null Eins Null ist, wird die erste Null verschluckt.
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 22.12.2011, 19:29  
Neuer Benutzer
 
Registriert seit: 05.03.2010
Beiträge: 19
PHP-Kenntnisse:
Fortgeschritten
mbauer befindet sich auf einem aufstrebenden Ast
Standard

Gute Idee.
Ich habe die Datei in 10.jpg umbenannt. Hat aber leider nicht geholfen...
Firebug sagt mir aber, dass die Datei nicht ankommt:
Status: 304 not modified

Grüße

Mathias
mbauer ist offline   Mit Zitat antworten
Alt 22.12.2011, 19:45  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zitat:
To post a file, prepend a filename with @ and use the full path.
Du sollst dem Dateinamen ein @ vorausstellen, nicht der PHP Variablen (das unterdrückt in PHP die Fehlerausgabe)
PHP-Code:
'encoded_image'=>'@'.$file 
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 22.12.2011, 19:50  
Neuer Benutzer
 
Registriert seit: 05.03.2010
Beiträge: 19
PHP-Kenntnisse:
Fortgeschritten
mbauer befindet sich auf einem aufstrebenden Ast
Standard

Okay, ich habe jetzt die Zeile in
PHP-Code:
'encoded_image'=>'@'.$file 
geändert, allerdings auch ohne Erfolg.

Im Firebug bekomme ich den Status 304 not modified. Bleibt mir jetzt nur die Möglichkeit manuell eine Weiterleitung einzubauen? D.h. den Status abfragen und dann dorthin weiterleiten?
mbauer ist offline   Mit Zitat antworten
Alt 22.12.2011, 20:09  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Hast du denn auch mal versucht, den mime type explizit mit anzugeben? Vielleicht ignoriert google Daten ohne mime type? (ins blaue geraten)
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
google webseiten lokalisieren für dummis syNTax PHP Einsteiger 7 11.09.2011 17:04
Image Upload und umbennen Chacky PHP Einsteiger 2 01.02.2011 15:40
Warum komme ich von Google nicht auf die gefundenen Themen hier im Forum The_real_Assi Off-Topic Diskussionen 5 20.01.2011 09:31
[Erledigt] Image Upload x-muchacho Scriptbörse 13 19.08.2010 17:49
Image Link in zwischenablage kopieren (nach image upload) dior PHP Tipps 2010 7 31.03.2010 16:41
Google AJAX Search API: Suche mit Keyword wolf29 PHP-Fortgeschrittene 1 20.03.2010 10:45
variable mit onclick an php drombusch PHP Tipps 2009 8 30.08.2009 14:45
[Erledigt] PHP Image Upload &amp; Resize Problem da.eXecutoR PHP-Fortgeschrittene 10 14.08.2009 11:50
Bilder Klasse snatch-ic Beitragsarchiv 1 13.06.2007 11:45
Upload - Image extension nikosch HTML, Usability und Barrierefreiheit 10 17.03.2007 01:32
Google "verarzchen" mit PHP !? Beitragsarchiv 31 18.09.2005 22:07
Problem mit Wasserzeichen auf Bildern pixelcut PHP-Fortgeschrittene 16 14.12.2004 02:36
Uploader-Script fehler beim Thumbx erstellen PHP Tipps 2004-2 7 07.12.2004 10:35
image upload script PHP Tipps 2004 3 15.08.2004 20:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
\http://images.google.com/searchbyimage/upload\, \google\ \/searchbyimage/upload\ \curl\, image upload.php, google image search upload php, php google upload, google image search url biw bih, php image api searchbyimage, images in google formular, bildersuche bild input, google form upload image

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum