cari

Rumah  >  Soal Jawab  >  teks badan

Muat naik fail PHP SMB menyebabkan 500 Ralat Pelayan Dalaman

<p>Apabila saya cuba memuat naik fail pada folder setempat ke pelayan FTP melalui SMB, fail tersebut akan dimuat naik, tetapi pelayan mengembalikan Ralat Pelayan Dalaman 500 dengan mesej berikut: </p> <blockquote> <p>Amaran: fopen(Fail.xls): tidak boleh membuka strim: Tiada fail atau direktori sedemikian</p> </blockquote> <p>Ini ialah fungsi muat naik saya: </p> <pre class="brush:php;toolbar:false;">muat naik fungsi awam($fileToUpload, $targetPath = "") { jika (!kosong ($targetPath)) { if (substr($targetPath, -1, 1) != '/') { $targetPath .= "/"; } } $fileName = basename($fileToUpload); $this->srvShare->put($fileToUpload, $targetPath . $fileName); }</pre> <p>Dalam kes ini, <strong>$fileToUpload</strong> adalah sesuatu seperti 'File.xls'. Saya telah cuba menghantar keseluruhan laluan ke fungsi tetapi ia masih menghasilkan ralat yang sama. Muat naik berjaya... fail sudah ada pada pelayan, tetapi kod tidak boleh diteruskan kerana ia masih mengakibatkan Ralat Pelayan Dalaman 500. </p> <p>Ini ialah fungsi put() dalam smb NativeShare: </p> <pre class="brush:php;toolbar:false;">/*** Muat naik fail tempatan * * @param string $sumber fail tempatan * @param string $target fail sasaran * @kembali bool * * @melempar IcewindSMBExceptionNotFoundException * @melempar IcewindSMBExceptionInvalidTypeException*/ letak fungsi awam($sumber, $sasaran) { $sourceHandle = fopen($source, 'rb'); $targetUrl = $this->buildUrl($target); $targetHandle = $this->getState()->create($targetUrl); manakala ($data = fread($sourceHandle, NativeReadStream::CHUNK_SIZE)) { $this->getState()->write($targetHandle, $data, $targetUrl); } $this->getState()->close($targetHandle, $targetUrl); kembali benar; }</pre></p>
P粉113938880P粉113938880441 hari yang lalu648

membalas semua(1)saya akan balas

  • P粉882357979

    P粉8823579792023-08-31 09:11:58

    Ok..jadi saya berjaya membetulkan ralat. Masalahnya ialah saya telah menggunakan fungsi muat naik ini di tempat lain dan saya mengandaikan saya boleh menggunakannya semula dengan parameter yang sama.. Saya perlu menukar satu parameter dan kini ia berfungsi :)

    balas
    0
  • Batalbalas