NiKoS WSN Δημοσ. 4 Σεπτεμβρίου 2012 Δημοσ. 4 Σεπτεμβρίου 2012 > <?php $channel = "RikvGRvOUP"; $json_file = @file_get_contents("http://api.justin.tv/api/stream/list.json?channel={$channel}", 0, null, null); $json_array = json_decode($json_file, true); if ($json_array[0]['name'] == "live_user_{$channel}") { $channelTitle = $json_array[0]['channel']['title']; $title = $json_array[0]['channel']['status']; $game = $json_array[0]['meta_game']; ?> <!-- live channel code here --> on <!-- end live channel code --> <?php } else { ?> <!-- offline channel code here --> off <!-- end offline channel code --> <?php } ?> ?> Έχω τον παραπάνω κώδικα ο οποίος ελέγχει εάν το stream είναι Online ή Offline και κάνει κάτι για κάθε περίπτωση. Το θέμα μου είναι ότι μου πετάει αυτό το μήνυμα Notice: Undefined offset: 0 in C:\wamp\www\live\grvoup.php on line 7 όταν το stream είναι offline, ενώ όταν το stream είναι online όλα πάνε καλά! μπορείτε να ρίξετε κανα φως;
subdee Δημοσ. 4 Σεπτεμβρίου 2012 Δημοσ. 4 Σεπτεμβρίου 2012 Όταν το stream είναι offline, δεν επιστρέφεται κάποιο JSON, άρα όταν κάνεις decode παίρνεις NULL. Καλύτερα ο έλεγχος να τσεκάρει αν υπάρχει το συγκεκριμένο index πρώτα. > <?php $channel = "RikvGRvOUP"; $json_file = @file_get_contents("http://api.justin.tv/api/stream/list.json?channel={$channel}", 0, null, null); $json_array = json_decode($json_file, true); if (isset($json_array[0]) && $json_array[0]['name'] == "live_user_{$channel}") { $channelTitle = $json_array[0]['channel']['title']; $title = $json_array[0]['channel']['status']; $game = $json_array[0]['meta_game']; ?> <!-- live channel code here --> on <!-- end live channel code --> <?php } else { ?> <!-- offline channel code here --> off <!-- end offline channel code --> <?php } ?> ?>
NiKoS WSN Δημοσ. 4 Σεπτεμβρίου 2012 Μέλος Δημοσ. 4 Σεπτεμβρίου 2012 Όταν το stream είναι offline, δεν επιστρέφεται κάποιο JSON, άρα όταν κάνεις decode παίρνεις NULL. Καλύτερα ο έλεγχος να τσεκάρει αν υπάρχει το συγκεκριμένο index πρώτα. > <?php $channel = "RikvGRvOUP"; $json_file = @file_get_contents("http://api.justin.tv/api/stream/list.json?channel={$channel}", 0, null, null); $json_array = json_decode($json_file, true); if (isset($json_array[0]) && $json_array[0]['name'] == "live_user_{$channel}") { $channelTitle = $json_array[0]['channel']['title']; $title = $json_array[0]['channel']['status']; $game = $json_array[0]['meta_game']; ?> <!-- live channel code here --> on <!-- end live channel code --> <?php } else { ?> <!-- offline channel code here --> off <!-- end offline channel code --> <?php } ?> ?> Είσαι πολύ σωστός μεγάλε. Ευχαριστώ. ΥΓ. Δεν ξέρω json οπότε δεν μπορούσα να καταλάβω τι έφταιγε :S Άκυρο... Τελικά ο κώδικας σου είναι λάθος. Είναι δεν είναι online το stream το δείχνει πάντα offline... :S πάντως το μήνυμα λάθους έχει εξαφανιστεί
NiKoS WSN Δημοσ. 10 Σεπτεμβρίου 2012 Μέλος Δημοσ. 10 Σεπτεμβρίου 2012 Βασικά άκυρο... ο κώδικάς σου δουλεύει αλλά το κανάλι πρέπει να γράφεται με μικρά γράμματα ΠΑΝΤΑ.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα