ここに行ってください!
NOTE
1)は、ファイル名が同じであることを確認してください。
2)extファイルを変数$imgExts
と$vidExts
に追加できます。
<?php
$files = glob("media/*.*");
$vid = NULL;
$imgExts = array("gif", "jpg", "jpeg", "png", "tiff", "tif");
$vidExts = array("mp4", "mpg", "avi", "mk4", "ogg", "3gp");
for ($i=0; $i<count($files); $i++) {
$image = $files[$i];
$urlExt = pathinfo($files[$i], PATHINFO_EXTENSION);
if (in_array($urlExt, $imgExts)) {
for ($j=0; $j<count($files); $j++) {
$urlExt2 = pathinfo($files[$j], PATHINFO_EXTENSION);
if (in_array($urlExt2, $vidExts)) {
if (strcmp($urlExt, $urlExt2) == 0) {
$vid=$files[$j];
}
}
}
echo '<a href="'.$vid .'"><img src="'.$image .'" />'."<br /></a>";
}
}
UPDATE:任意のファイルが見つからない場合には、エラーが表示されます
(すなわち、画像、ビデオ、またはその逆のために見つからない場合)
<?php
$x=1; // initially giving value for x=1
$files = glob("media/*.*");
$vid=NULL;
$vidf=$files; //making copy of files array
$imgExts = array("gif", "jpg", "jpeg", "png", "tiff", "tif");
$vidExts = array("mp4", "mpg", "avi", "mk4", "ogg", "3gp");
for ($i=0; $i<count($files); $i++) {
$image = $files[$i];
$urlExt = pathinfo($files[$i], PATHINFO_EXTENSION);
if(in_array($urlExt,$imgExts)){
for($j=0; $j<count($files); $j++){
$urlExt2 = pathinfo($files[$j], PATHINFO_EXTENSION);
if(in_array($urlExt2,$vidExts)){
if(strcmp(pathinfo($files[$i], PATHINFO_FILENAME),pathinfo($files[$j], PATHINFO_FILENAME))==0){
$vid=$files[$j];
$x=0; // put the value of x=0 if video for that image found!
unset($vidf[array_search($vid , $vidf)]); // search & delete video from array with have images
}
}
}
if($x==0)
echo '<a href="'.$vid .'"><img src="'.$image .'" />'."<br /></a>";
else if($x==1){ //check if image have the video
echo 'Video for Image <b>', pathinfo($image , PATHINFO_FILENAME),'.',pathinfo($image , PATHINFO_EXTENSION), ' </b>Not Found!<br>';
$x=0;}
}
}
foreach ($vidf as $vidf) { // show let out videos who's images not found
$urlExt2 = pathinfo($vidf, PATHINFO_EXTENSION);
if(in_array($urlExt2,$vidExts)){
echo "Image of the Video <b> ",pathinfo($vidf , PATHINFO_FILENAME),'.', pathinfo($vidf , PATHINFO_EXTENSION),'</b> Not found!' ;
echo '<br>';
}
}
?>
Iすべてのビデオに異なる拡張機能があるので、ビデオの拡張子を知らなくてもそれを実行できるとは思わないでください。 –
しかし、私はファイル名を調べて 'filename(not jpg)'と言うことができました。それは私の考えでしたが、それをどうやって行うのか分かりません。 – MikeSkril
画像と同じループ内で動画をループすると、各値から動画/画像を確認できる拡張子を取得できるようになります。 – andre3wap