php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack (1) Themen-Optionen Thema bewerten
  1 links from elsewhere to this Post. Click to view. #1 (permalink)  
Alt 09-06-2011, 20:03
ProCoder2025
 Registrierter Benutzer
Links : Onlinestatus : ProCoder2025 ist offline
Registriert seit: Jun 2011
Beiträge: 15
ProCoder2025 befindet sich auf einem aufstrebenden Ast
Standard Youtube-Video erst durch Klick vergrößern

Hallo, ich hab mal wieder eine Frage, diesmal geht es um ein Thema in Bereich PHP aber auch Javascript und Ajax. Leider habe ich in dem Bereich JS und Ajax absolut keine Ahnung, muss mal schauen das ich das irgendwie hin bekomme.

Es ist wie folgt. Ich möchte auf einer Seite anbieten, das ein Link von ein Videoportal gepostet werden kann, nehmen wir hier mal youtube, das Video soll dann erstmal klein angezeigt werden und erst durch Klick vergrößert werden. (Genau wie bei Facebook).
Das posten des Links mit Anzeige auf Seite habe ich in php schon geschrieben.

Habe festgestellt dass das Video an sich nicht verkleinert werden kann wenn das per Klick wieder groß werden soll. In dem Fall ist nur ein Screenshot möglich. Ein Blick in den Code von Facebook bestätigt mir das.

HTML-Code:
<img class="img" 
src="http://external.ak.fbcdn.net/safe_image.php?d=9f21391e5acf6ceec8364e6fc781260a&amp;
w=130&amp;
h=130&amp;
url=http%3A%2F%2Fi3.ytimg.com%2Fvi%2Fn2J0ME4nQyI%2Fdefault.jpg" alt="">
Jedoch habe ich gerade keine ID wie ich erstens, automatisch ein Bild von dem Video erstelle und ich zweitens das dann vergrößere.
Zweitens werde ich aber sicherlich googlen können, nur wie ist es mit dem Screenshot? Wie bekomme ich automatisch nach dem posten des Links ein Screenshot? Die Frage ist jetzt, ist es eher ein Javascript-Thema oder doch php?

Falls eher JS oder Ajax, bitte ich freundlicherweise um Verschiebung.

Falls jemand eine Idee oder einen Ansatz für mich hat, würde ich mich sehr freuen.

Hier kurz ein kleiner Ausschnitt meines PHP-Codes zwecks Youtube-Einbindung. Ist noch nicht die feinste Sache, da das Einbinden andere Videos von. z.B. MyVideo somit nicht möglich ist. Das muss ich noch irgendwie hinbekommen.

PHP-Code:
 $video_link $inhalt['video'];
         
preg_match'/[\\?\\&]v=([^\\?\\&]+)/'$video_link$matches );
         
$video_id $matches[1];
         
$youtube_url ='http://www.youtube.com/v/';
         
$url "$youtube_url$video_id";

$video '<iframe width="375" height="300" src="'.$url.'" frameborder="0" allowfullscreen></iframe>'
Viele Grüße

Thomas
Mit Zitat antworten
  #2 (permalink)  
Alt 09-06-2011, 20:23
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Wie du schon richtig erkannt hast, sind es in der Tat zwei Themen:
1) Screenshot von Video
2) Vergrößern (= Screenshot durch Videoplayer ersetzen)

Ersteres dürfte für dich der kompliziertere Teil werden. PHP bietet hierfür von Haus aus keine Möglichkeit, auch JS fällt da weg. Hierfür müsstest du entweder ein Zusatzprogramm auf deinem Server installieren oder den (bereits vorhandenen) Screenshot von den Seiten der Videoplatformen grabben. Letzteres ist mit Sicherheit der einfachere Weg und dürfte sich auch irgendwie mit den Nutzungsbedingungen regeln lassen (Bitte selbst informieren!)

Zu 2) hast du recht, einfach mal googlen. Aber dann besser nicht nach vergrößern, sondern nach ersetzen.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 09-06-2011, 20:29
ProCoder2025
 Registrierter Benutzer
Links : Onlinestatus : ProCoder2025 ist offline
Registriert seit: Jun 2011
Beiträge: 15
ProCoder2025 befindet sich auf einem aufstrebenden Ast
Standard

Hey Tobiaz, vielen dank für die schnell Antwort.
Na da habe ich doch mal nen guten Ansatz. Da werde ich mich mal schlau machen zwecks Screenshot von jeweiligen Portal zu bekommen. Konnte mir nicht vorstellen das so etwas geht ^^.

Besten dank, wenn ich eine Lösung habe, gebe ich wieder bescheid.
Mit Zitat antworten
  #4 (permalink)  
Alt 09-06-2011, 20:34
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von TobiaZ Beitrag anzeigen
Ersteres dürfte für dich der kompliziertere Teil werden.
Nur, wenn man's blödsinnigerweise selber machen will. Aber wäre doch gelacht, wenn Youtube das nicht selber schon anbietet ... und siehe da, Ergebnis nach 10 Sekunden googlen*:

JQuery HowTo: How to get a YouTube video screenshot image (thumbnail) URL using JavaScript


* lernt das mal, Kinder - kann man immer wieder brauchen!
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 09-06-2011, 20:38
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Ähm...

Zitat:
oder den (bereits vorhandenen) Screenshot von den Seiten der Videoplatformen grabben. Letzteres ist mit Sicherheit der einfachere Weg
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #6 (permalink)  
Alt 09-06-2011, 20:41
ProCoder2025
 Registrierter Benutzer
Links : Onlinestatus : ProCoder2025 ist offline
Registriert seit: Jun 2011
Beiträge: 15
ProCoder2025 befindet sich auf einem aufstrebenden Ast
Standard

Hehe genial danke, ich muss glaube noch das richtige googlen erlernen :-).

Na da werde ich mal bissel rumbasteln, vielen dank an euch beide für eure Mühe...
Mit Zitat antworten
  #7 (permalink)  
Alt 10-06-2011, 19:15
ProCoder2025
 Registrierter Benutzer
Links : Onlinestatus : ProCoder2025 ist offline
Registriert seit: Jun 2011
Beiträge: 15
ProCoder2025 befindet sich auf einem aufstrebenden Ast
Standard

Wollte meine Frage jetzt nicht wieder hier in das Forum schicken, da ich nicht der Typ bin der ständig die gleichen Leute nerven will :-), Selbsthilfe ist das beste, aber leider komme ich nicht weiter.

Ist wie gesagt jetzt eher komplett das Thema Javascript, Verschiebung wäre nett.

Ich bin soweit, das der Link in php bearbeitet wird und das Video "groß" abgespielt wird.
Zusätzlich habe ich ein Plugin von JQuery das mir ermöglich den Screenshot des Videos zu machen. Jetzt steh ich vor der Frage wie ich die erzeugte Variable aus der .js Datei nach php senden kann.
Da ja php auf dem Server verarbeitet wird und JS nicht, kann ich entweder auf AJAX oder auf ein hidden-field zurückgreifen. Da mein wissen mit AJAX bei 0 liegt, habe ich mich für zweitens entschieden.

Leider sind meine Javascript-Kentnisse auch nur sehr gering so das ich es schwieriger habe Lösungen zu finden.

Ich steh jetzt davor, wie ich die erzeugte Variable aus .js in die HTML, wo das Formular ist, wieder bekomme und zusätzlich sofort in VALUE von das Hidden-field einfüge.

Hier mal die Codes bzw. Ausschnitte:
Formular:
HTML-Code:
<html>
<script src="jquery.js"></script>
<script src="jyoutube.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    // Get youtube video thumbnail on user click
    var url = '';
    $('#send').click(function(){
        // Check for empty input field
        if($('#video').val() != ''){
            // Get youtube video's thumbnail url
            // using jYoutube jQuery plugin
            url = $.jYoutube($('#video').val());
            //url = $.jYoutube($('#url').val());
            // Now append this image to <div id="thumbs">
            $('#video_bild').append($('<a href="'+url+'" />'));
            //$('#thumbs').append($('<img src="'+url+'" />'));

         }

});

});

</script>

 <!-- Hier ist Zeichenbegrenzung beendet  -->
 <!--<textarea name="nachricht" rows="5" cols="40" >
</textarea>  -->
<br /><br />
<div id="thumbs"> </div>
<div id="name">
Name:* <br />
<input type="text" name="name" value="" size="20" maxlength="100" />
</div>
<div id="stadt">
Stadt:* <br />
<input type="text" name="stadt" value="" size="20" maxlength="100" />
</div>
<br />
<div id="video2">
Videolink: <br />
<input type="text" name= "video" id="video" value="" size="47" maxlength="" />
<script type="text/javascript">
    document.write( '<input type="hidden" id = "video_bild "name="video_bild" value="' + url + '">' );
  </script>


<!--  <input type="hidden" name="video_bild" value=""/>-->
</div>
<div id="url">

<p class="nosee">
  <label for="url">Bitte hier NICHTS eintragen!</label>
  <br />
  <input id="url" name="url" size="50" value=""  />
</p>
</div>

<br />
<br />
<div id="submit">
<input type="submit" name="send" id="send" value="Teil es mit" />
</div>
</form>
</html>
JS-Datei

Code:
$.extend({
  jYoutube: function( url, size ){
    if(url === null){ return ""; }

    size = (size === null) ? "big" : size;
    var vid;
    var results;

    results = url.match("[\\?&]v=([^&#]*)");

    vid = ( results === null ) ? url : results[1];

    if(size == "small"){

     return "http://img.youtube.com/vi/"+vid+"/2.jpg";


    }else {

       return "http://img.youtube.com/vi/"+vid+"/2.jpg";

    }
    //musste mit den gleichen Links das Skript etwas austricksen, da sonst nur große Bilder angezeigt wurden, wird noch bearbeitet
  }

});
Es soll dann an die php (habe ich jetzt nicht extra mit aufgeschrieben) per POST übergeben werden.

PHP

PHP-Code:
<php
$video_bild $_POST['video_bild']; 

 echo 
$video_bild
?> 
Also der zweite Code (JS) verarbeitet nach submit den LINK von Youtube und erstellt ein Screenshot von Video das wird dann wieder in HTML übergeben, eigentlich gibt das Plugin dann sofort das Bild aus, dies will ich aber nicht, da das Bild erst in der Datenbank gespeichert werden soll, also muss dann die Variable url an den PHP-Code gegeben werden wo auch schon der Rest bearbeitet wird.

Habe schon einige Varianten ausprobiert, entweder es hat soweit funktioniert, nur es wurde kein Inhalt übergeben oder wie bei dem aktuellen Code kommt sofort eine Fehlermeldung das Variable 'URL' in HTML-Code nicht definiert ist. Logisch, da JS-Datei das Ergebnis noch nicht geschickt hat. Und wenn ich das Formular trotz Fehlermeldung ausfülle dann kommt das in PHP-Datei $video_bild nicht definiert ist.

Hat jemand eine Idee bzw. sieht den Fehler oder kann mir helfen?

Viele Grüße Thomas
Mit Zitat antworten
  #8 (permalink)  
Alt 11-06-2011, 00:02
c0restalker
 Registrierter Benutzer
Links : Onlinestatus : c0restalker ist offline
Registriert seit: Oct 2009
Beiträge: 66
c0restalker befindet sich auf einem aufstrebenden Ast
Standard

Also dafür würde ich dir jQuery / Ajax echt empfehlen. Ist wesentlich einfacher!
Du kannst damit sowohl über GET als auch Post Variablen an dein Script übergeben.

Ajax/jQuery.post - jQuery JavaScript Library

Hoffe das hilft dir
Mit Zitat antworten
  #9 (permalink)  
Alt 11-06-2011, 01:33
ProCoder2025
 Registrierter Benutzer
Links : Onlinestatus : ProCoder2025 ist offline
Registriert seit: Jun 2011
Beiträge: 15
ProCoder2025 befindet sich auf einem aufstrebenden Ast
Standard

Ich dank dir, ja ich glaub langsam auch das ich es damit versuchen sollte ^^. Denn derzeit fische ich noch trocken und somit ohne Ergebnis :-). Werde mich morgen mal belesen und es damit versuchen.

Besten dank für deine Hilfe
Mit Zitat antworten
  #10 (permalink)  
Alt 12-06-2011, 00:00
c0restalker
 Registrierter Benutzer
Links : Onlinestatus : c0restalker ist offline
Registriert seit: Oct 2009
Beiträge: 66
c0restalker befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ProCoder2025 Beitrag anzeigen
Ich dank dir, ja ich glaub langsam auch das ich es damit versuchen sollte ^^. Denn derzeit fische ich noch trocken und somit ohne Ergebnis :-). Werde mich morgen mal belesen und es damit versuchen.

Besten dank für deine Hilfe

Viel Erfolg. Ist meiner Meinung nach der einfachste und schnellste Weg. Hast eben alle Funktionen schon vordefiniert und abrufbereit. Da muss man nicht mehr viel basteln. An die Syntax gewöhnt man sich auch schnell!

Lg
Mit Zitat antworten
  #11 (permalink)  
Alt 14-06-2011, 11:26
sili
 Registrierter Benutzer
Links : Onlinestatus : sili ist offline
Registriert seit: Feb 2004
Beiträge: 115
sili ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ein Beispiel, welches (sofern ich dich richtig verstanden habe) genau das tut, was du möchtest, findest du auch hier: "YouTube - Pulp Fiction Soundtrack - Opening Theme (Dick ..." and 1 other links | Share links with linkIO.us. Vielleicht hilft dir der Code (mit jQuery) etwas weiter. Problematisch daran ist aber die Abhängigkeit von Flash. Youtube setzt dies ja nicht mehr für alle Videos voraus.

Geändert von sili (14-06-2011 um 11:29 Uhr)
Mit Zitat antworten
  #12 (permalink)  
Alt 15-06-2011, 12:13
ProCoder2025
 Registrierter Benutzer
Links : Onlinestatus : ProCoder2025 ist offline
Registriert seit: Jun 2011
Beiträge: 15
ProCoder2025 befindet sich auf einem aufstrebenden Ast
Standard

Hey Silli, jo genau so möchte ich es auch bei mir haben. Ich habe mich die letzten Tage noch nicht mit Ajax beschäftigt , da ich erstmal andere Sachen realisiert habe bis ich mich dem Thema wieder widme, aber die Seite macht es mit nem hidden-field. Ich habe ja nur bis jetzt das Problem mit den variablen, damit die auch in das hidden-field eingetragen werden. Ich werde die Tage dann aber nochmal c0restalker Tipp befolgen und mich mit Ajax beschäftigen, aber ich habe das erstmal nach hinten gelegt, erstmal werde ich andere Dinge auf der Website fertig machen und dann widme ich mich nochmal dem Thema.
Mit Zitat antworten
Antwort

Lesezeichen


LinkBacks (?)
LinkBack to this Thread: https://www.php-resource.de/forum/php-developer-forum/101754-youtube-video-erst-durch-klick-vergroessern.html
Erstellt von For Type Datum
Variable aus .js in html in hidden-field übertragen danach mit POST an php - php.de This thread Refback 06-04-2015 12:32

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Youtube video auslesen! TriphunEM PHP Developer Forum 6 10-04-2010 02:35
Youtube Video beim Play drücken vergrößern reinhardcore HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 15 29-10-2009 18:17
Seite öffnet sich erst beim 2ten Klick phexi PHP Developer Forum 6 11-12-2004 19:37
Cookie wird erst bei klick ausgelesen seriall PHP Developer Forum 6 04-03-2004 11:11
Erste Promotionsprüfung per Video-Konferenz durch das Internet Aroree News / Kostenloses 0 02-07-2002 13:52

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:14 Uhr.