Nasıl bir veritabanında, her video için ayrı bir dizin oluşturun ve URL'den kendi kimliğini çekin?

2 Cevap php

Örneğin - vimeo.com üzerine, her video bir id numarası vardır. Bu videoyu izlemek için, sadece vimeo.com/2847535 veya ne olursa olsun gidin.

Diyelim ki bir kullanıcı bir video ekler her zaman, benzersiz bir id atanır benzer bir site var diyelim. Ben veritabanına videoyu ekledikten sonra nasıl bu kimlik numarası ile bir dizin oluşturabilirim?

Video veritabanı ve dizin oluşturulduktan sonra da, şimdi ben bir kullanıcının ziyaret ... benim ikinci soru www.example.com/38540305 yükler zaman php sayfasında sağ videoyu görüntülemek için ne Ben URL'den bir video id çekin? Ben url _GET kullanarak www.example.com/video.php?38540305 gibi görünüyor zaman bunu nasıl biliyorum, ama ben bu "?" Olmadan çalışacağını sanmıyorum

Kaynaklara veya kod bağlantılar çok takdir!

2 Cevap

Bunun yerine, her video için bir dizin oluşturmak yerine, mod_rewrite video.php için www.example.com/ [sayılar] gibi herhangi bir url haritasına kullanabilirsiniz. Bunu yapmak için web sunucusu olarak Apache gerektiğini unutmayın.

örneğin Bir. htaccess dosyası (veya apache yapılandırma dizin veya sankondan altındaki dosya)

RewriteEngine On
#check path is not a file
RewriteCond %{REQUEST_FILENAME} !-f
#check path is not a directory
RewriteCond %{REQUEST_FILENAME} !-d
#redirect any numeric path to video.php
RewriteRule ^([0-9]+)$ video.php?id=$1 [L]

Şimdi $_GET[id'] video kimliği almak için kullanabilirsiniz.

Doğrudan ilk soruya cevap vermek için, kayıt aramayı taktıktan sonra mysql_insert_id() (or equivalent) to get the last inserted id. You could then obviously use mkdir() dizin oluşturmak için olabilir. Her dizin içinde bir index.php dosyası oluşturulur sürece, bu hala işe yaramaz.

Bunun için mod_rewrite kullanmak istediğiniz için gidiyoruz. Böyle bir şey:

RewriteEngine On
RewriteRule ^([\-_0-9A-Za-z]+)$  index.php?a=$1 [L]
You can customize RewriteRule as much as you want.

Ths '/' sonra URL'sini yazmanız lazım, yani bunun yerine index.php gider? A = yol