Kuinka ratkaista MATLAB-liitännäistiedosto-ongelma Korjaa MATLAB 2018 (MATLAB 2014 -versio)

Työskentelen Tuotteet-näytteiden lohkon räätälöinnissä. Pohjimmiltaan minun on tiedettävä, kuinka saada tiedoston nimi näytteestä.

Joten voin käyttää seuraavaa koodia mielestäni saada joukko näytteitä:

<?php $_samples = $this->getSamples()  ?> var13 ->

... ja voin toistaa nämä näytteet riittävän hyvin. Mitä yritän selvittää, on, miten saan näytteeseen liittyvän tiedoston nimen? Haluan periaatteessa mukauttaa näkymää, jossa, jos näytetiedosto on MP3, näytän upotetun soittimen. Kaikilla muilla tiedostotyypeillä oletustoiminta (linkki näkyy, jota napsautettaessa avautuu uusi ikkuna ja näyte näytetään) on täysin hieno.

Joten jos liität $ samplePath ja $ sampleFile yhteen, saat näytetiedoston koko polun levylle. eli: $samplePath . $sampleFile saa sinut /path/to/samples/folder/sub-folder/path/to/file.mp3

Tässä esimerkissä ei todellakaan ole välttämätöntä hankkia $ samplePath -ohjelmaa, koska voit vain testata, päättyykö $ sampleFile ".mp3": lla, kuten alla on esitetty, mutta halusin osoittaa, miten pääsen joka tapauksessa täydelle polulle.

<?php if ($this->hasSamples()): $_samples = $this->getSamples(); foreach ($_samples as $_sample): $samplePath = $_sample->getBasePath(); // returns '/path/to/samples/folder' $sampleFile = $_sample->getSampleFile(); // returns '/sub-folder/path/to/file.mp3' // Figure out if the filename ends with '.mp3' $_is_mp3 = (bool)('.mp3' == substr($sampleFile, -4)); if ($_is_mp3): //show the mp3 player else: //show a link to the file endif; endforeach; endif;  ?> var13 ->
  • Annan tämän laukauksen huomenna ja ilmoitan sinulle. Näyttää siltä, ​​että getSampleUrl () ja / tai getSamplePath () saavat minut mitä tarvitsen. Kiitos!
  • Tämä sai minut menemään hyvään suuntaan, mutta paras, mitä pystyin tekemään edellä mainituilla menetelmillä, samoin kuin muut, jotka löysin API: sta, oli saada näytteiden perushakemisto, esim. / path / to / app / sample, pikemminkin kuin /path/to/samples/1/sample.mp3. Minun täytyy vain lisätä tämä toiminto. Onneksi (luulen), Magento on avoimen lähdekoodin.
  • Eikö getURL () -toiminto palauta koko polkua tiedostoon? Jos näin on, voit joko leikata merkkijonon pisteeseen ennen tiedostotunnistetta tiedostotyypin määrittämiseksi, tai käyttää tätä ratkaisua, jos getURL (): n palauttama koko tiedostopolku osoittaa lataustunnukseen eikä itse tiedostoon.
  • Ei, getURL () -funktio palauttaa URL-osoitteen (esim. Example.com/samples/01), joka (a) ei sisällä tiedostonimeä, ja (b) delegoi vain selaimesi käsittelemään näytteen katselua / toistoa asianmukaisesti. Esimerkiksi URL-osoite, jos näyte on PDF, käynnistää minkä tahansa oletusarvoisen PDF-katseluohjelman. .MP3-tiedostojen kohdalla minulle URL osoitti oletus mediasoittimen käynnistämistä paikallisesti koneellani.
  • Joten muutin vastaustasi sisällyttämään käyttökoodin. En tiedä, onko sinun hyväksyttävä se ennen kuin se ilmestyy, mutta olet ehdottomasti saanut minut menemään oikeaan suuntaan, ja löysin koodin, joka tekee sen avustasi.

työskennellyt sinulle: Charles Robertson | Haluatko yhteyttä?